SQL2008使用json.net实现XML与JSON互转

借助CLR,首先实现字符串的互转

?

?

public
class
JsonFunction

{

///
<summary>

///
XML转JSON

///
</summary>

///
<param
name="xml"></param>

///
<returns></returns>

///
<remarks>

///
json不建议太长

///
</remarks>

[Microsoft.SqlServer.Server.SqlFunction(Name = "Xml2Json")]

public
static
SqlString
Xml2Json(SqlXml
xml)

{

System.Xml.XmlDocument
doc=new
System.Xml.XmlDocument();

doc.LoadXml(xml.Value);

string
json= JsonConvert.SerializeXmlNode(doc, Formatting.Indented);

doc.Clone();

return
new
SqlString(json);

?

}

[Microsoft.SqlServer.Server.SqlFunction(Name = "Json2Xml")]

public
static
SqlXml
Json2Xml(string
json)

{

System.Xml.XmlDocument
doc =
JsonConvert.DeserializeXmlNode(json);

System.IO.StringWriter
sw=new
System.IO.StringWriter();

doc.WriteTo(new
System.Xml.XmlTextWriter(sw));

return
new
SqlXml(new
System.Xml.XmlTextReader(new
System.IO.StringReader( sw.ToString())));

?

}

}

?

测试语句

?

DROP
TABLE
test

?

CREATE
TABLE
TEST
(
NAME VARCHAR(5),
DATA XML
)

?

GO

?

?

INSERT
INTO
TEST

VALUES (
‘A‘, ‘<ROOT><M>AAAA</M></ROOT>‘
),

(
‘B‘, ‘<ROOT><D>00000</D></ROOT>‘
)

?

DECLARE
@X
XML

SELECT
@x
=
( SELECT *

FROM
test

FOR

XML
AUTO
,

ELEMENTS
,

ROOT

)

SELECT
@x

DECLARE
@json
NVARCHAR(MAX)

SELECT
@json
=
dbo.xml2json(@x)

SELECT
@json

SELECT
dbo.Json2Xml(@json)

?

?

时间: 2024-10-10 13:30:25

SQL2008使用json.net实现XML与JSON互转的相关文章

什么是json? 什么是xml?JSON与XML的区别比较

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集. JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Pytho

ASP.NET中XML转JSON的方法

原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理.要实现这一点,它们必须将XML格式转换为JSON格式. XML转JSON代码 [csharp] view plaincopy private static string XmlToJSON(XmlDocument xmlDoc) { StringBuilder sbJSON = new StringBuilder(); sbJSON.Append("{ &

java 中xml转换为json对象

1.前提须要jar包: json-lib-2.4-jdk15.jar 和 xom-1.2.5.jar ,maven 仓库: net.sf.json-lib json-lib 2.4 jdk15 xom xom 1.2.5 2.代码部分: public static JSON xmlToJson(String xml) { XMLSerializer xmlSerializer = new XMLSerializer(); if(xml!=null && !"".equa

XML与JSON的对比

XML与JSON的对比 1.各自定义 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准. XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输.XML 提供统一的方法来描述和交

xml转换为json格式时,如何将指定节点转换成数组 Json.NET

使用Json.NET转换xml成json时,如果xml只有单个节点,但json要求是数组形式[], JsonConvert.SerializeXmlNode 并不能自动识别 示例如下: RecordArray要求是数组格式 <root> <Record> </Record> <RecordArray> <a>1</a> <b>2</b> </RecordArray> </root> 转换

JSON对象与XML相互转换工具类

依赖jar <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</

在SQL Server中将数据导出为XML和Json

原文:在SQL Server中将数据导出为XML和Json     有时候需要一次性将SQL Server中的数据导出给其他部门的也许进行关联或分析,这种需求对于SSIS来说当然是非常简单,但很多时候仅仅需要一次性导出这些数据而建立一个SSIS包就显得小题大做,而SQL Server的导入导出工具其中BUG还是蛮多的,最简单的办法是BCP.   数据导出为XML     在SQL Server 2005之后提供了一个for xml子句在关系数据库中原生支持XML.通过该命令可以将二维关系结果集转

WebApi接口 - 响应输出xml和json

格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点赞谢谢: . 自定义一个Action,响应输出集合数据 . api返回json数据的两种方式 . json时间格式处理方式 . 让api接口支持返回json和xml数据 下面一步一个脚印的来分享: . 自定义一个Action,响应输出集合数据 首先,我们新建一个webapi项目,新建好以后我们能够找

Android开发学习之路--网络编程之xml、json

一般网络数据通过http来get,post,那么其中的数据不可能杂乱无章,比如我要post一段数据,肯定是要有一定的格式,协议的.常用的就是xml和json了.在此先要搭建个简单的服务器吧,首先呢下载xampp,然后安装之类的就不再多讲了,参考http://cnbin.github.io/blog/2015/06/05/mac-an-zhuang-he-shi-yong-xampp/.安装好后,启动xampp,之后在浏览器输入localhost或者127.0.0.1就可以看到如下所示了: 这个就