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

SQL Server:无需指定JSON键的JSON变量转XML通用方法

解决方案:将SQL Server中的JSON对象转为通用XML格式

你可以通过OPENJSON解析JSON为行集,再结合FOR XML语法实现通用转换,无需枚举JSON键:

declare @jsonVar nvarchar(max) = N'{"key1":"value1","key2":"value2"}';

-- 生成带root节点的XML
SELECT 
    [key] AS 'local-name()',
    value AS 'text()'
FROM OPENJSON(@jsonVar)
FOR XML PATH(''), ROOT('root');

-- 生成不带root节点的XML
SELECT 
    [key] AS 'local-name()',
    value AS 'text()'
FROM OPENJSON(@jsonVar)
FOR XML PATH('');

说明:

  • OPENJSON(@jsonVar)会自动将JSON对象拆解为包含key(键名)和value(对应值)的行集,适配任意键名变化。
  • [key] AS 'local-name()'指定XML元素的名称为JSON的键,value AS 'text()'指定元素的文本内容为JSON的值。
  • FOR XML PATH('')将每行数据转为独立的XML元素,ROOT('root')用于添加根节点,移除该参数即可得到无root节点的结果。

执行带root节点的语句后,输出结果与你期望的格式一致:

<root>
  <key1>value1</key1>
  <key2>value2</key2>
</root>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:12:47