C#中使用JSON.NET实现JSON、XML相互转换

官方 JSON.NET 地址
http://james.newtonking.com/pages/json-net.aspx

XML TO JSON

string xml = @"<?xml version=""1.0"" standalone=""no""?>
<root>
 <person id=""1"">
 <name>Alan</name>
 <url>http://www.google.com</url>
 </person>
 <person id=""2"">
 <name>Louis</name>
 <url>http://www.yahoo.com</url>
 </person>
</root>";

XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);

string jsonText = JsonConvert.SerializeXmlNode(doc);
//{
// "?xml": {
//  "@version": "1.0",
//  "@standalone": "no"
// },
// "root": {
//  "person": [
//   {
//    "@id": "1",
//    "name": "Alan",
//    "url": "http://www.google.com"
//   },
//   {
//    "@id": "2",
//    "name": "Louis",
//    "url": "http://www.yahoo.com"
//   }
//  ]
// }
//}

JSON TO XML

string json = @"{
 ""?xml"": {
  ""@version"": ""1.0"",
  ""@standalone"": ""no""
 },
 ""root"": {
  ""person"": [
   {
    ""@id"": ""1"",
    ""name"": ""Alan"",
    ""url"": ""http://www.google.com""
   },
   {
    ""@id"": ""2"",
    ""name"": ""Louis"",
    ""url"": ""http://www.yahoo.com""
   }
  ]
 }
}";

XmlDocument doc = (XmlDocument)JsonConvert.DeserializeXmlNode(json);
// <?xml version="1.0" standalone="no"?>
// <root>
//  <person id="1">
//  <name>Alan</name>
//  <url>http://www.google.com</url>
//  </person>
//  <person id="2">
//  <name>Louis</name>
//  <url>http://www.yahoo.com</url>
//  </person>
// </root>

DEMO:JSON TO XML

string json_str = "{\"a\":\"a\",\"b\":\"b\"}";
//json 的字符串需要按照这个格式 书写,否则会报错
string json = @"{
 ""?xml"": {
  ""@version"": ""1.0"",
  ""@standalone"": ""no""
 },
 ""root"":" + json_str + "}";

if (!string.IsNullOrEmpty(json))
{
  XmlDocument doc = JsonConvert.DeserializeXmlNode(json);

}
(0)

相关推荐

  • C#实现json格式转换成对象并更换key的方法

    本文实例讲述了C#实现json格式转换成对象并更换key的方法.分享给大家供大家参考.具体分析如下: 由于是不标准的序列化对象类型,因此你无法通过标准的反序列化类来实现,需要自定义一个序列化类或者简单点,直接自定义一个方法解析Json数据.解析后的数据用Dictionary来存放. string str = "{\"name\": \"甄嬛体\",\"2012-05-04 14:59\": \"5724\"}&quo

  • C#实现JSON和对象之间互相转换功能示例

    本文实例讲述了C#实现JSON和对象之间互相转换功能.分享给大家供大家参考,具体如下: 1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数 Address 表示送货地址,DailyRecord  表示日常记录 using System; using System.Collections.Generic; using System.Linq; using Syste

  • C# XML与Json之间相互转换实例详解

    对于这转换其实很简单,其中最重要的就是先要引用类库.可以到官网进行下载引用http://json.codeplex.com. XML转换为Json字符串 复制代码 代码如下: string xml = @"<?xml version=""1.0"" standalone=""no""?>                             <root>                   

  • C#实现将json转换为DataTable的方法

    本文实例讲述了C#实现将json转换为DataTable的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: #region 将json转换为DataTable /// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson">得到的json</param> /// <returns></returns> pr

  • C#实现String类型和json之间的相互转换功能示例

    本文实例讲述了C#实现String类型和json之间的相互转换功能.分享给大家供大家参考,具体如下: ////Donet2.0 需要添加引用 // 从一个对象信息生成Json串 public static string ObjectToJson(object obj) { return JavaScriptConvert.SerializeObject(obj); } // 从一个Json串生成对象信息 public static object JsonToObject(string jsonS

  • C#实现任意数据类型转成json格式输出

    直接贴代码: 复制代码 代码如下: /// List转成json   /// </summary>  /// <typeparam name="T"></typeparam>  /// <param name="jsonName"></param>  /// <param name="list"></param>  /// <returns></

  • C#中的DataSet、string、DataTable、对象转换成Json的实现代码

    C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// <summary> /// 过滤特殊字符 /// </summary> /// <param name="s">字符串</param> /// <returns>json字符串</returns> private s

  • C#中把Datatable转换为Json的5个代码实例

    实例一: 复制代码 代码如下: /// <summary>         /// Datatable转换为Json         /// </summary>        /// <param name="table">Datatable对象</param>         /// <returns>Json字符串</returns>         public static string ToJson(D

  • 自定义实现Json字符串向C#对象转变的方法

    这里使用Atrribute的方式实现了Json字符串向C#对象的转变.因为功能局限,此版本只是针对于Json字符串,如"response":"Hello","id":21231513,"result":100,"msg":"OK."; 而不是Json数组.这里的Atrribute是作用在属性上,像NHibernate中的Atrribute一样,是在运行时通过反射来获取这个属性对应于Jso

  • C#实现集合转换成json格式数据的方法

    本文实例讲述了C#实现集合转换成json格式数据的方法.分享给大家供大家参考,具体如下: /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static string ToJson(DataTable dt) { if (dt != null

  • C#实现Json转Unicode的方法

    本文实例讲述了C#实现Json转Unicode的方法.分享给大家供大家参考之用.具体方法如下: 本文实例主要实现输入为带有json格式的文本,输出正常文本的功能. 具体代码如下: private string JsonToUnicode(string input) { input = input.Replace("\\\"", "\""); input = input.Replace("\\/", "/")

随机推荐