我正试图从SQL Server存储过程返回一个数据集,其中的输出应该像换行符分隔的json。我怎样才能做到这一点?
SELECT [ID],[Name]
FROM [tbl_sample]
FOR JSON PATH, INCLUDE_NULL_VALUES, WITHOUT_ARRAY_WRAPPER
如果不能直接从SQL Server端实现,那么可以从C#实现吗?
我的意思是,我需要创建每个SQL选择数据表来在目录中生成单独的ND-JSON文件。
请你分享一下你的想法,我们将不胜感激。
谢谢!
您可以将每一行放入子查询中,以单独创建其JSON,然后使用STRING_AGG
:使用新行聚合它
SELECT STRING_AGG(j.json, N'
') AS json
FROM [tbl_sample]
CROSS APPLY (
SELECT [ID],[Name]
FOR JSON PATH, INCLUDE_NULL_VALUES, WITHOUT_ARRAY_WRAPPER
) j(json);
或者,您可以单独返回每一行:
SELECT
(
SELECT [ID],[Name]
FOR JSON PATH, INCLUDE_NULL_VALUES, WITHOUT_ARRAY_WRAPPER
) AS json
FROM [tbl_sample];
db<gt;小提琴