SQL Server中将查询结果转换为Json格式脚本
2017-11-27 17:26
543 查看
这篇文章主要介绍了SQL Server中将查询结果转换为Json格式脚本分享,本文直接给出实现代码,需要的朋友可以参考下
原文地址:http://www.jb51.net/article/61462.htm
原文地址:http://www.jb51.net/article/61462.htm
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE[dbo].[SerializeJSON]( @ParameterSQL AS VARCHAR(MAX) ) AS BEGIN DECLARE @SQL NVARCHAR(MAX) DECLARE @XMLString VARCHAR(MAX) DECLARE @XML XML DECLARE @Paramlist NVARCHAR(1000) SET @Paramlist = N'@XML XML OUTPUT' SET @SQL = 'WITH PrepareTable (XMLString)' SET @SQL = @SQL + 'AS(' SET @SQL = @SQL + @ParameterSQL+ 'FOR XML RAW,TYPE,ELEMENTS' SET @SQL = @SQL + ')' SET @SQL = @SQL + 'SELECT @XML=[XMLString]FROM[PrepareTable]' EXEC sp_executesql @SQL, @Paramlist, @XML=@XML OUTPUT SET @XMLString=CAST(@XML AS VARCHAR(MAX)) DECLARE @JSON VARCHAR(MAX) DECLARE @Row VARCHAR(MAX) DECLARE @RowStart INT DECLARE @RowEnd INT DECLARE @FieldStart INT DECLARE @FieldEnd INT DECLARE @KEY VARCHAR(MAX) DECLARE @Value VARCHAR(MAX) DECLARE @StartRoot VARCHAR(100);SET @StartRoot='<row>' DECLARE @EndRoot VARCHAR(100);SET @EndRoot='</row>' DECLARE @StartField VARCHAR(100);SET @StartField='<' DECLARE @EndField VARCHAR(100);SET @EndField='>' SET @RowStart=CharIndex(@StartRoot,@XMLString,0) SET @JSON='' WHILE @RowStart>0 BEGIN SET @RowStart=@RowStart+Len(@StartRoot) SET @RowEnd=CharIndex(@EndRoot,@XMLString,@RowStart) SET @Row=SubString(@XMLString,@RowStart,@RowEnd-@RowStart) SET @JSON=@JSON+'{' -- for each row SET @FieldStart=CharIndex(@StartField,@Row,0) WHILE @FieldStart>0 BEGIN -- parse node key SET @FieldStart=@FieldStart+Len(@StartField) SET @FieldEnd=CharIndex(@EndField,@Row,@FieldStart) SET @KEY=SubString(@Row,@FieldStart,@FieldEnd-@FieldStart) SET @JSON=@JSON+'"'+@KEY+'":' -- parse node value SET @FieldStart=@FieldEnd+1 SET @FieldEnd=CharIndex('</',@Row,@FieldStart) SET @Value=SubString(@Row,@FieldStart,@FieldEnd-@FieldStart) SET @JSON=@JSON+'"'+@Value+'",' SET @FieldStart=@FieldStart+Len(@StartField) SET @FieldEnd=CharIndex(@EndField,@Row,@FieldStart) SET @FieldStart=CharIndex(@StartField,@Row,@FieldEnd) END IF LEN(@JSON)>0SET @JSON=SubString(@JSON,0,LEN(@JSON)) SET @JSON=@JSON+'},' --/ for each row SET @RowStart=CharIndex(@StartRoot,@XMLString,@RowEnd) END IF LEN(@JSON)>0SET @JSON=SubString(@JSON,0,LEN(@JSON)) SET @JSON='['+@JSON+']' SELECT @JSON END GO
相关文章推荐
- SQL Server中将查询结果转换为Json格式脚本分享
- SQL Server中将查询结果转换为Json格式脚本分享
- json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)
- ASP.NET DataSet查询结果转换为JSON格式数据
- json格式数据 ,将数据库中查询的结果转换为json(方式2)
- Groovy(类Java)将数据库查询结果ResultSet转换为Json返回
- 一个Excel转换为Json格式的Python脚本
- geoserver图层属性查询及查询结果转换为arcgis js api能使用的格式
- sql server 关于日期格式转换查询备注
- Sql Server中将Select的查询结果存入一个表!(示例)
- javascript中将字符串转换为json格式的三种方法
- 在jQueryEasyUI中把表单内容转化成json格式的方法并且把查询到的结果显示到页面上
- SQL Server 查询结果转JSON函数
- 转换成Json格式的数据并且可以看转换后的结果
- 在JavaWEB中将Ajax动态查询结果转换成List<Map>型JavaScript数组
- Java中将JSON格式的数据转换成对应的Bean、Map、List数据
- SqlServer将查询结果转换为XML和JSON
- 亲测可用:将数据库查询结果DataReader转换为Json
- Hibernate数据查询结果转json格式
- javascript中将字符串转换为json格式的三种方法