【发布时间】:2021-11-04 12:56:13
【问题描述】:
我必须与接受 JSON 消息但基于动态原理的网络服务交谈。因此,如果想要基于 name\values 属性的动态构建,而不是使用固定定义的字段。
F.E.
{
"Begin": [
{
"name": "sysrscols",
"value": "sysrscols"
},
{
"name": "id",
"value": "3"
},
{
"name": "crdate",
"value": "2013-03-22T15:06:57.220"
}
]
}
使用 SQL 中的 FOR JSON 选项,我得到一个包含列名及其值的结果。 F.e. 查询:
SELECT TOP 1 so.name,so.id,so.crdate From sysobjects so FOR JSON PATH, Root('Begin')
作为结果给出:
{
"Begin": [
{
"name": "sysrscols",
"id": 3,
"crdate": "2013-03-22T15:06:57.220"
}
]
}
我怎样才能达到第一个结果?
【问题讨论】:
-
仅供参考,正如documentation 告诉你的那样,你真的不应该再使用像
sys.sysobjects这样的对象了;它更多是为了与 SQL Server 2000 数据库兼容。现在是 2021 年,SQL Server 2000 多年前就完全失去了支持。
标签: json tsql web-services for-json