You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在SQL Server的FOR JSON PATH中转义属性名里的点号可行吗?

SQL Server FOR JSON PATH 保留属性名中的点号

在SQL Server的FOR JSON PATH中,默认会把别名里的点号解析为嵌套JSON的层级分隔符,导致属性被拆分成嵌套结构。要让属性名保留点号,需要用双引号包裹属性名别名,再在外层加方括号。

修改后的查询语句如下:

SELECT A.tag AS ["@odata.etag"]
    ,A.val AS [val]
FROM (VALUES('1111', 2222))A(tag,val)
FOR JSON PATH

执行后会得到你期望的输出:

[
    {
        "@odata.etag": "1111",
        "val": 2222
    }
]

原理是:当别名用双引号包裹时,SQL Server会将整个字符串识别为单一的属性名称,不再将点号视为嵌套层级的分隔符,从而直接生成带点号的属性名。

内容的提问来源于stack exchange,提问作者chase huber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 12:37:38