sql-server - Sql Server JSON 结果分为多行

标签 sql-server json azure

我想知道这是否是 SQL Server(在 Azure 上)的正常行为。 我的 SQL 查询使用 FOR JSON PATH 和嵌套查询返回 JSON。 我的问题是,似乎根据生成的 JSON 的长度,结果被分成多行。

这是一个问题,因为行数可能会根据数据而变化。我还必须手动将所有行连接在一起以获得有效的 JSON。

解决方法是将生成的 JSON 放入一个变量中,然后手动选择它。这会产生单行和单列(所以我知道这不是最大长度问题)。

这是正常行为还是我的查询有问题?

最佳答案

Sql Server 将 FOR JSON 查询的结果拆分为 ~2KB block ,因此您应该像 MSDN page 那样连接片段或者您可以将结果流式传输到某个输出流中。

在这里,您可以找到 ASP.NET Core REST API 实现,其中使用 FOR JSON 的 SQL 查询结果将流式传输到响应正文中:https://www.codeproject.com/Articles/1106622/Building-REST-services-with-ASP-NET-Core-Web-API-a

关于sql-server - Sql Server JSON 结果分为多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41880611/

相关文章:

sql-server - 想要将 XML 存储在 SQL Server 2014 表中并在同一表上应用选择

sql-server - 以相当安全的方式使用 sqlclr 和脚本程序集的 F#

java - 从 MySQL 下载 Android App 数据的有效方法

java - ObjectMapper 不考虑注解

node.js - Azure Function 因错误而挂起

Azure Synapse Analytics 版本控制

azure - 使用带有托管标识的 Azure Functions 事件中心绑定(bind)?

sql-server - sql server UPDATE 与 INNER JOIN 与其自身相结合

json - Jackson 正在向 POJO 添加冗余数据,然后无法将其读回

sql-server - DBCC SHRINKFILE 截断事务日志