簡體   English   中英

從 JSON 轉換 Array 中的列

[英]Transform columns in Array from JSON

我有一張包含以下數據的表格。

ID 描述 第 1 列 第 2 列 第 3 列
1 測試1 X1 X2 X3
2 測試2 X1 X2 X3
3 測試3 X1 X2 X3
4 測試4 X1 X2 X3
5 測試5 X1 X2 X3

我需要把它變成:

{
  "id":1,
  "description": "TESTE1",
  "columns": [
         "X1",
         "X2",
         "X3"
  ]
}

有人能幫我嗎?

這是一種方法。

(但我希望有人能找到更簡潔的方法來獲取字符串數組)

 select replace( replace( replace(json, '"[','['), ']"',']'), '`','"') as json from ( select t.id, t.description, ca.* from your_table t cross apply ( select concat('[`', string_agg([col], '`, `'), '`]') from (values (column1), (column2), (column3)) c(col) ) ca(columns) FOR JSON PATH ) q(json)
json
[{"id":1,"description":"TESTE1","columns":["X1", "X2", "X3"]},{"id":2,"description":"TESTE2", "columns":["X1", "X2", "X3"]},{"id":3,"description":"TESTE3","columns":["X1", "X2", "X3" ]},{"id":4,"description":"TESTE4","columns":["X1", "X2", "X3"]},{"id":5,"description":"TESTE5 ","列":["X1", "X2", "X3"]}]

關於db<>fiddle 的演示在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM