【发布时间】:2021-10-26 12:50:30
【问题描述】:
作为一个简化示例,请考虑这个包含两个字段的表。一个是字符串,另一个是 XML。
SELECT TOP (1) [Source]
, OrderParameter
FROM [Rops].[dbo].[PreOrder]
- Source="MediaConversions"
- OrderParameter=""
现在我想查询表并将结果作为json,但也将XML一次性转换为json。
SELECT TOP (1) [Source]
, OrderParameter
FROM [Rops].[dbo].[PreOrder]
for json path;
结果
[{"Source":"MediaConversions","OrderParameter":"
"}]
但我希望将其转换为:
[{"Source":"MediaConversions","OrderParameter":{ "ParameterList":[ “x”:1,“y”:10]} ]
如何添加“for json”来转换xml?
SELECT TOP (1) [Source]
, select OrderParameter for json path????
FROM [Rops].[dbo].[PreOrder]
for json path;
【问题讨论】:
-
当
OrderParameter的输入数据是<?xml version="1.0" encoding="utf-16"?>时,我不明白为什么您的“结果”可以包含<ParameterList ...等。我在 MS SQL Server 中创建了一个临时表并运行了您的第二个查询(以for json path结尾的那个),它给了我[{"Source":"MediaConversions","OrderParameter":"<?xml version=\"1.0\" encoding=\"utf-16\"?>"}]。我不确定我是否看到了问题。
标签: json sql-server xml