主页 > 知识库 > SQL SERVER 将XML变量转为JSON文本

SQL SERVER 将XML变量转为JSON文本

热门标签:服务外包 铁路电话系统 Linux服务器 呼叫中心市场需求 地方门户网站 百度竞价排名 AI电销 网站排名优化

废话不多说了,直接给大家贴代码了。

-- create function
create function [dbo].[fnXmlToJson] (@XmlData xml)
returns nvarchar(max)
as
begin
return
(select stuff( 
(select
*
from 
(select
',{'+ 
stuff(
(select
',"'+
coalesce(b.c.value('local-name(.)', 'NVARCHAR(MAX)'),'')+'":"'+ b.c.value('text()[]','NVARCHAR(MAX)') +'"'
from x.a.nodes('*') b(c) for xml path(''),type).value('(./text())[]','NVARCHAR(MAX)'),,,'')
+'}'
from @XmlData.nodes('/root/*') x(a)) JSON(theLine) 
for xml path(''),type).value('.','NVARCHAR(MAX)' )
,,,''));
end;
go
-- test table and data
create table [dbo].[PivotExample]
(
[Country] [nvarchar]() null
,[Year] [smallint] not null
,[SalesAmount] [money] null
)
on
[PRIMARY];
insert into [dbo].[PivotExample]values('Australia', , .);
insert into [dbo].[PivotExample]values('Germany', , .);
insert into [dbo].[PivotExample]values('United States', , .);
insert into [dbo].[PivotExample]values('France', , .);
declare @xml xml;
set @xml=(select top * from [dbo].[PivotExample] for xml path, root);
select dbo.fnXmlToJson(@xml);
--return string
{"Country":"Australia","Year":"","SalesAmount":"."},
{"Country":"Germany","Year":"","SalesAmount":"."},
{"Country":"United States","Year":"","SalesAmount":"."},
{"Country":"France","Year":"2008","SalesAmount":"922179.0400"}

您可能感兴趣的文章:
  • 实现SQL Server 原生数据从XML生成JSON数据的实例代码
  • SQL Server中将数据导出为XML和Json方法分享
  • 在SQL Server中将数据导出为XML和Json的方法
  • php 备份数据库代码(生成word,excel,json,xml,sql)
  • SqlServer将查询结果转换为XML和JSON

标签:铜川 衡水 湘潭 崇左 湖南 仙桃 黄山 兰州

巨人网络通讯声明:本文标题《SQL SERVER 将XML变量转为JSON文本》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266