[小贱] 小贱学C#笔记之Newtonsoft.Json(一)

原文链接:http://www.manew.com/thread-42749-1-1.html


  小贱好久没来啦,一方面因为新工作正在适应,一方面蛮牛大神人才辈出在各方面为新手们解决了很多问题(包括我,嘿嘿),小贱着实也是不敢班门弄斧了哈!今天小贱给各位简单介绍Newtonsoft.Json这个库的使用。
       不管是在游戏开发,还是应用开发中,我们会经常的使用到XML文件和Json格式。先对这俩稍作了解:
1.XML是文件类型,Json是一种格式:简单来说,XML是一个完整的文件(当然在文件中书写格式就叫XML格式了),它有自己的规范、格式等,而Json则纯粹是一种“写法”(我不知道用这个词来解释“格式”是否准确),有时候Json就是一个字符串。;
2.两者在格式上都类似于键值对的形式,XML格式有<key>value</key>,<key value=“...”/>等,而Json格式就相对简单,如:{“key”:“value”};
3.XML和Json都会被用于数据的传输,但在传输速度上,Json应该会更快速一些;
4.在阅读性上,老实讲,我绝对是不想去看Json数据的!
5.解析效率上,Json会更加快速一些。
       我们也不作过于深入的比较,毕竟在实际中用上了,自然会明白到底哪一个比较好用了。下面我们就说说今天的主角:Newtonsoft.Json。
1.将XML格式转化为Json格式

[C#]  纯文本查看  复制代码
?
 
1
using System.Xml;
using Newtonsoft.Json; // 主角当然不能少


[C#]  纯文本查看  复制代码
?
 
01
02
03
04
05
06
07
08
09
10
/// <summary>
         /// Xml文件转Json返回
         /// </summary>
         /// <param name="path">Xml文件路径</param>
         public override string Xml2Json( string path)
         {
             XmlDocument doc = new XmlDocument();
             doc.Load(path); // 通过xml的路径来读取xml文件
             string json = JsonConvert.SerializeXmlNode(doc.DocumentElement, Newtonsoft.Json.Formatting.None, true );
             return json;
         }

代码中 JsonConvert.SerializeXmlNode( XmlNode   node , Formatting   formatting , bool   omitRootObject) 就是用来将XML格式转化成Json格式的函数,其中第一个参数是XML文件的根节点,第二个是输出的格式,第三个是选择是否显示根节点。(参考: http://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_JsonConvert_SerializeXmlNode_2.htm
2.将Json格式转化为XML格式
[C#]  纯文本查看  复制代码
?
 
1
using System.Xml; [/size]
[size=4] using Newtonsoft.Json; // 相同的引用

[C#]  纯文本查看  复制代码
?
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
/// <summary>
         /// Json转Xml文件
         /// </summary>
         /// <param name="json">Json字符串</param>
         /// <param name="savePath">保存路径</param>
         public void Json2Xml( string json, string savePath)
         {
             try
             {
                 XmlDocument doc = JsonConvert.DeserializeXmlNode(json, "root" );
                 CreateXmlFile(doc, savePath); //这里为了看得更加直观,我是将完成转化的XML格式保存到了xml文件中,这样就不需要再遍历节点来打印出来
                 Console.WriteLine( "Xml文件保存位置:" + savePath);
             }
             catch (Exception e)
             {
                 Console.WriteLine(e.Message);
             }
         }


代码中 JsonConvert.DeserializeXmlNode( string   value , string   deserializeRootElementName) 就是用来将XML格式转化成Json格式的函数,其中第一个参数是Json格式的字符串,第二个是为了添加一个各节点。(参考: http://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_JsonConvert_DeserializeXmlNode_1.htm


      今天小贱就简单的先让各位了解 Newtonsoft.Json这个库的两个最简单的用法,当然了 Newtonsoft.Json 可是很强大的哦,绝对是在项目中为我们提高开发效率的利器{:soso_e129:}!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值