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

如何为SQL Server返回的JSON字段添加嵌套的value属性?

在SQL Server中为JSON输出添加嵌套的value属性结构

你只需要修改子查询中每个字段的定义,为每个字段构造一个包含value属性的嵌套对象即可。具体做法是将每个字段值放在一个子查询里,并指定value作为属性名,外层用原字段名作为别名。

修改后的查询语句如下:

SELECT (
    SELECT 
        (SELECT CAST(Id AS nvarchar) AS value) AS ExternalRefNbr,
        (SELECT [Description] AS value) AS Description,
        (SELECT [Note] AS value) AS Note
    FOR JSON PATH, WITHOUT_ARRAY_WRAPPER
) FROM Project

原理说明

  • 对于每个字段(比如Id),我们用(SELECT CAST(Id AS nvarchar) AS value)生成一个独立的JSON对象{"value": "1"}
  • 将这个子查询的结果用原字段名(ExternalRefNbr)作为别名,FOR JSON PATH就会把这个对象作为对应键的值
  • WITHOUT_ARRAY_WRAPPER保持原来的单对象输出格式,不会将结果包裹在数组中

执行以上查询后,就能得到你期望的JSON输出:

{"ExternalRefNbr":{"value":"1"},"Description":{"value":"Daphne"},"Note":{"value":"Ocala county - Barn"}}
{"ExternalRefNbr":{"value":"2"},"Description":{"value":"Sunny"},"Note":{"value":"Riverdon county - Prison"}}
{"ExternalRefNbr":{"value":"3"},"Description":{"value":"Sasha"},"Note":{"value":"Sommer county - School"}}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 23:00:07