一切福田,不離方寸,從心而覓,感無不通。

ASP.NET中XML和JSON互转

一、XML和JSON字符串的对应表格

 

1、节点的属性会被对应地转换为JSON对象的成员"attr_name":"attr_value"。如:
 

XML JSON
<xx yy=’nn'></xx> { "xx" : { "yy" : "nn" } }
<xx yy="></xx> { "xx" : { "yy" : "" } }

 

2、没有子节点、属性和内容的节点被转换为成员"child_name":null

 

XML JSON
<xx/> { "xx" : null }

 

3、没有子节点和属性,但是有内容的节点被转换为成员"child_name":"child_text"

 

XML JSON
<xx>yyy</xx> { "xx" : "yyy" }

 

4、其它节点和属性会被适当地转换为"child_name":对象或者"child_name":[elements]对象数组,节点的值会被转换为对象成员的"value",如:

 

XML JSON
<xx yy=’nn'><mm>zzz</mm></xx> { "xx" : { "yy" : "nn", "mm" : "zzz" } }
<xx yy=’nn'><mm>zzz</mm><mm>aaa</mm></xx> { "xx" : { "yy" : "nn", "mm" : [ "zzz", "aaa" ] } }
<xx><mm>zzz</mm>some text</xx> { "xx" : { "mm" : "zzz", "value" : "some text" } }
<xx value=’yyy'>some text<mm>zzz</mm>more text</xx> { "xx" : { "mm" : "zzz", "value" : [ "yyy", "some text", "more text" ] } }

 

5、字符会被安全地转换为JSON字符串。注意该转换不会保证你的JavaScript代码不会受到任何注入攻击,如果其中的内容来自于一段不安全的XML数据源的话。下面这个例子演示了字符的转义:

 

XML JSON
<aa>/z’z"z\yyy</aa> { "aa" : "\/z\u0027z\"z\\yyy" }

 

二、XML转JSON

 

JSON是一个轻量级的数据交换格式,它可以非常容易地被页面的JavaScript编码为对象的形式,从而方便数据操作。

基于AJAX的页面使用XmlHttpRequest对象从服务端接收数据来响应用户的请求,当返回的数据是XML格式时,它可以被转换为JSON格式的字符串从而通过JavaScript更加容易地对数据进行处理。

许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理。要实现这一点,它们必须将XML格式转换为JSON格式。

 

XML转JSON代码

 

三、JSON格式转换为XML格式