SQL 服务器:将查询结果导出为 JSON 对象
SQL SERVER: Export Query RESULT as JSON Object
我正在使用 Azure sql 服务器并尝试以下列格式导出查询结果。
所需查询结果:
{ "results": [{...},{...}], "response": 0 }
来自这个例子:https://msdn.microsoft.com/en-us/library/dn921894.aspx
我正在使用这个 sql 但我不确定如何添加另一个响应 属性 作为根 属性 的同级 :"results".
当前查询:
SELECT name, surname
FROM emp
FOR JSON AUTO, ROOT('results')
查询输出:
{ "results": [
{ "name": "John", "surname": "Doe" },
{ "name": "Jane", "surname": "Doe" } ] }
使用 FOR JSON PATH
而不是 FOR JSON AUTO
。有关几个示例,请参阅 Format Query Results as JSON with FOR JSON (SQL Server) 页面,包括点分隔的列名称和来自 SELECTS
的查询
此格式没有内置选项,因此最简单的方法可能是手动设置响应格式,例如:
declare @resp nvarchar(20) = '20'
SELECT '{"response":"' +
(SELECT * FROM emp FOR JSON PATH) +
'", "response": ' + @resp + ' }'
FOR JSON 会做更难的部分(格式化 table),你只需要将它包装起来。
我正在使用 Azure sql 服务器并尝试以下列格式导出查询结果。
所需查询结果:
{ "results": [{...},{...}], "response": 0 }
来自这个例子:https://msdn.microsoft.com/en-us/library/dn921894.aspx
我正在使用这个 sql 但我不确定如何添加另一个响应 属性 作为根 属性 的同级 :"results".
当前查询:
SELECT name, surname
FROM emp
FOR JSON AUTO, ROOT('results')
查询输出:
{ "results": [ { "name": "John", "surname": "Doe" }, { "name": "Jane", "surname": "Doe" } ] }
使用 FOR JSON PATH
而不是 FOR JSON AUTO
。有关几个示例,请参阅 Format Query Results as JSON with FOR JSON (SQL Server) 页面,包括点分隔的列名称和来自 SELECTS
此格式没有内置选项,因此最简单的方法可能是手动设置响应格式,例如:
declare @resp nvarchar(20) = '20'
SELECT '{"response":"' +
(SELECT * FROM emp FOR JSON PATH) +
'", "response": ' + @resp + ' }'
FOR JSON 会做更难的部分(格式化 table),你只需要将它包装起来。