SQL Server查询是否可以返回或C#生成换行符分隔的json



我正试图从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;小提琴

最新更新