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

作者:hebedich 时间:2022-12-11 04:34:12 

官方 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#,JSON,XML
0
投稿

猜你喜欢

  • Java 基础之事务详细介绍

    2021-12-16 19:35:36
  • Java实现在线SQL编程最新完整版

    2022-04-12 01:03:45
  • Java面试题-实现复杂链表的复制代码分享

    2023-11-23 20:05:39
  • java实现顺序结构线性列表的函数代码

    2023-01-28 13:49:31
  • SpringbootJPA分页 PageRequest过时的替代方法

    2022-03-10 11:53:13
  • MyBatis如何进行双重foreach循环

    2022-11-24 22:54:17
  • Java方法的参数传递机制实例详解

    2021-05-24 07:38:29
  • SpringBoot + FFmpeg实现一个简单的M3U8切片转码系统

    2023-11-24 19:52:38
  • java实现客房管理系统

    2022-10-15 23:56:33
  • 关于Java float和double精度范围大小

    2023-11-29 00:52:01
  • 零基础写Java知乎爬虫之先拿百度首页练练手

    2022-11-14 09:07:05
  • C# TaskScheduler任务调度器的实现

    2022-09-30 16:54:21
  • Unity制作小地图和方向导航

    2023-02-07 16:51:02
  • JPA中EntityListeners注解的使用详解

    2023-08-04 21:39:18
  • C#操作DataGridView获取或设置当前单元格的内容

    2022-04-01 14:44:25
  • Android数据共享 sharedPreferences 的使用方法

    2023-06-19 01:43:07
  • Android如何获取QQ与微信的聊天记录并保存到数据库详解

    2023-04-12 06:54:03
  • 判断List和Map是否相等并合并List中相同的Map

    2022-12-29 02:11:10
  • 利用javaFX实现移动一个小球的示例代码

    2022-06-18 19:04:51
  • SpringBoot下载Excel文件时,报错文件损坏的解决方案

    2023-01-09 15:49:16
  • asp之家 软件编程 m.aspxhome.com