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

 更新时间:2015年11月20日 09:41:06   投稿:hebedich  
这篇文章主要介绍了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);
   
}

相关文章

  • c# 操作word写入特殊字符的实例

    c# 操作word写入特殊字符的实例

    这篇文章主要介绍了c# 操作word写入特殊字符的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • C#中将字符串转换为整型的三种解决方法总结

    C#中将字符串转换为整型的三种解决方法总结

    本篇文章是对C#中将字符串转换为整型的三种解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • c#图片缩放图片剪切功能实现(等比缩放)

    c#图片缩放图片剪切功能实现(等比缩放)

    c#图片缩放剪切功能实现,代码中包含了c#图片处理的一些基础知识,与大家分享
    2013-12-12
  • C#中DataBindings用法实例分析

    C#中DataBindings用法实例分析

    这篇文章主要介绍了C#中DataBindings用法,结合实例形式详细分析了DataBindings绑定数据源及刷新数据的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • C#中async和await的深入分析

    C#中async和await的深入分析

    Async/Await是C# 5引入的关键字,用以提高用户界面响应能力和对Web资源的访问能力,同时它使异步代码的编写变得更加容易,下面这篇文章主要给大家介绍了关于C#中async和await的相关资料,需要的朋友可以参考下
    2022-11-11
  • C#中给Excel添加水印的具体方法

    C#中给Excel添加水印的具体方法

    这篇文章主要介绍了C#中如何给Excel添加水印,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 利用C#如何给PDF文档添加文本与图片页眉

    利用C#如何给PDF文档添加文本与图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码、日期、公司徽标、文档标题、文件名或作者名等等。那么我们如何以编程的方式添加页眉呢?这篇文章主要介绍了利用C#如何给PDF文档添加文本与图片页眉的相关资料,需要的朋友可以参考下
    2017-01-01
  • Unity2021发布WebGL与网页交互问题的解决

    Unity2021发布WebGL与网页交互问题的解决

    本文主要介绍了Unity2021发布WebGL与网页交互问题的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • C#调用dll报错:无法加载dll,找不到指定模块的解决

    C#调用dll报错:无法加载dll,找不到指定模块的解决

    这篇文章主要介绍了C#调用dll报错:无法加载dll,找不到指定模块的解决问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C#中winform使用相对路径读取文件的方法

    C#中winform使用相对路径读取文件的方法

    这篇文章主要介绍了C#中winform使用相对路径读取文件的方法,实例分析了C#使用相对路径读取文件的技巧与实际应用,需要的朋友可以参考下
    2015-01-01

最新评论