JSON

游戏开发、移动开发、美术CG、虚拟现实、UI平面设计、前端开发

字号+ 作者:H5之家 来源:H5之家 2016-04-25 10:01 我要评论( )

小贱好久没来啦,一方面因为新工作正在适应,一方面大神人才辈出在各方面为新手们解决了很多问题(包括我,嘿嘿),小贱着实也是不敢班门弄斧了哈!今天小贱给各

小贱好久没来啦,一方面因为新工作正在适应,一方面大神人才辈出在各方面为新手们解决了很多问题(包括我,嘿嘿),小贱着实也是不敢班门弄斧了哈!今天小贱给各位简单介绍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#] 纯文本查看 复制代码

using System.Xml; using Newtonsoft.Json; // 主角当然不能少

[C#] 纯文本查看 复制代码

/// <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文件的根节点,第二个是输出的格式,第三个是选择是否显示根节点。(参考:)


2.将Json格式转化为XML格式

[C#] 纯文本查看 复制代码

using System.Xml; using Newtonsoft.Json; // 相同的引用

[C#] 纯文本查看 复制代码

/// <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格式的字符串,第二个是为了添加一个各节点。(参考:)
今天小贱就简单的先让各位了解Newtonsoft.Json这个库的两个最简单的用法,当然了Newtonsoft.Json可是很强大的哦,绝对是在项目中为我们提高开发效率的利器

 

作者:InS豆豆酱

泰斗原文:?_dsign=e02b22e9

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Rails + ES6 + Angular2 前后端分离开发(一)

    Rails + ES6 + Angular2 前后端分离开发(一)

    2016-03-26 17:00

  • 谷歌调试页面,Chrome开发者工具的实用技巧(译)

    谷歌调试页面,Chrome开发者工具的实用技巧(译)

    2016-03-15 12:01

  • 浅谈使用PHP开发微信支付的流程

    浅谈使用PHP开发微信支付的流程

    2016-02-13 15:00

  • JSONSchema那些事儿:基本概念

    JSONSchema那些事儿:基本概念

    2016-02-05 17:02

网友点评