首页 > 解决方案 > FOR JSON PATH 产生意外的 xml 声明

问题描述

我在 SSMS 版本 13.0.16106.4 中。我正在尝试检索我的查询结果:

SELECT TOP 10 *
FROM my_table
ORDER BY NEWID()
FOR JSON PATH

这会在结果窗口中生成指向查询生成的 JSON 的链接。但是,当我单击链接时,出现以下错误:

无法显示 XML。发生以下错误:意外的 XML 声明。XML 声明必须是文档中的第一个节点,并且它之前不允许出现空白字符。第 1 行,位置 431。一种解决方案是增加从服务器检索到的 XML 数据的字符数。要更改此设置,请在工具菜单上单击选项。

我尝试增加 XML 结果的数据大小限制,但没有奏效。似乎 SSMS 出于某种原因将 JSON 视为 XML,并且可能正在尝试对其进行解析。

标签: jsonxmlssms

解决方案


SSMS 不能很好地处理 JSON 表示。

请尝试 Microsoft 的 Azure Data Studio。它知道如何正确处理 JSON。Azure Data Studio 会与最新版本的 SSMS 一起自动安装。

下载 SQL Server 管理工作室 (SSMS)

这是官方 MS 文档的摘录:

重要的

从 SQL Server Management Studio (SSMS) 18.7 开始,Azure Data Studio 会与 SSMS 一起自动安装。SQL Server Management Studio 的用户现在可以从 Azure Data Studio 中的创新和功能中受益。Azure Data Studio 是一个跨平台的开源桌面工具,适用于你的环境,无论是在云、本地还是混合环境中。


推荐阅读