有时候,在前后台数据交互或者APP与后台交互的时候,我们通常会使用Json进行数据交互,为此会使用到Newtonsoft.Json.dll 这个类库,这个类库非微软官方,但是下载量已经超过了数十万次,可以说使用量已经是非常的大了;并且这个类库是开源类库,如果功能不满足,也可以自己去改进一下它;以前都是用它进行一些简单的序列化与反序列化,并没有过多的深入研究,最近项目中使用Elastsearch,因为Elasticsearch 中数据是以Json内容存储的,而且交互传输数据格式都是Json格式,所以趁这个机会,详细研究与总结一下它。
官方的开源源码地址:https://github.com/JamesNK/Newtonsoft.Json
官方的API文档地址:https://www.newtonsoft.com/json/help/html/Introduction.htm
(文档为英文版本,此系列笔记内容以官方示例为参考蓝本,并加上自己的理解整理而得,如有不足,欢迎讨论)
一:Newtonsoft.Json 支持序列化与反序列化的.net 对象类型;
二:C#对象、集合、DataTable与Json内容互转示例;
在C# 中对象转Json,Json转对象,除了newtonsoft.json 以外,其它还有两种,不过综合对比之下,还是Newtonsoft.dll 效率高一点,这里有一篇别人总结的:https://www.cnblogs.com/JiYF/p/8628942.html
不过我觉得,在一定的特定条件下,其它两种转换方式还是有一定的优势的,存在即合理。