从SQL Server生成JSON

时间:2018-08-09 09:52:25

标签: sql json sql-server-2016

我需要从sql表(使用FOR JSON AUTO限定符生成JSON字符串,而其中一列(或多列)存储为json字符串。

例如:

餐桌人物:

First_Name    | Family_Name   |City      | Children
--------------+---------------+----------+---------------
David         |Bin            | Miami    |[{"First_Name" :"John","Family_Name":"Bin"}]
Mary          |Nis            | New York |[]

所需的结果将是:

[
 {"First_Name":"David",
  "Family_Name":"Bin",
  "City":"Miami",
  "Children": [{"First_Name" :"John",
                "Family_Name":"Bin"}
              ]
 },
 {"First_Name":"Mary",
  "Family_Name":"Nis",
  "City":"New York",
  "Children": []
 }
]

我当前的问题是,结果"的所有出现都被转义了,因此接收它的应用程序失败(非法JSON)。

有人能为SELECT命令提出正确的措词,以生成上面显示的结果吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

尝试一下:

  SELECT        First_Name      , 
                Family_Name     , 
                City            , 
     JSON_QUERY(Children) 
  FROM Person FOR JSON AUTO ;