如何获取SQL Server tblOrder表中每行数据的JSON格式?
实现每行数据转为JSON格式的SQL查询
针对你的tblOrder表,要将每行的Orderid和TotalCost转换为独立的JSON对象,可以使用SQL Server的FOR JSON子句,以下是两种常用实现方式:
方法1:使用FOR JSON PATH(推荐,更灵活)
FOR JSON PATH允许你自定义JSON的结构,适合精准控制输出格式:
SELECT Orderid, TotalCost FROM tblOrder FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
FOR JSON PATH:将查询结果转为JSON格式,字段名直接作为JSON键WITHOUT_ARRAY_WRAPPER:取消默认的数组包裹,让每行数据输出为独立的JSON对象(若去掉该参数,所有行会被包裹在一个JSON数组内)
方法2:使用FOR JSON AUTO
FOR JSON AUTO会根据查询的表结构自动生成JSON格式,写法更简洁:
SELECT Orderid, TotalCost FROM tblOrder FOR JSON AUTO, WITHOUT_ARRAY_WRAPPER
输出示例
执行上述任意语句后,每行数据会输出类似如下的JSON格式:
{"Orderid":1,"TotalCost":1770.00} {"Orderid":2,"TotalCost":200.00} {"Orderid":3,"TotalCost":100.00} {"Orderid":4,"TotalCost":200.00} {"Orderid":5,"TotalCost":50.00}
如果需要将所有行包裹在一个JSON数组中,只需去掉WITHOUT_ARRAY_WRAPPER参数,输出会变成:
[{"Orderid":1,"TotalCost":1770.00},{"Orderid":2,"TotalCost":200.00},{"Orderid":3,"TotalCost":100.00},{"Orderid":4,"TotalCost":200.00},{"Orderid":5,"TotalCost":50.00}]
内容的提问来源于stack exchange,提问作者preeti
相关产品推荐
相关产品推荐

