NewtonJson、NewtonJson开源、NewtonJson开发和NewtonJson技巧

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NewtonJson、NewtonJson开源、NewtonJson开发和NewtonJson技巧相关的知识,希望对你有一定的参考价值。

参考技术A #IT教育# #IT# #程序员#

NewtonJson是专业处理Json数据的开源库,用于C#.NET开发。NewtonJson在5年前就用过,这些年随着VS的升级,NewtonJson也进行了升级,不同的VS .NET版本使用不事的NewtonJson库。Json数据在通信环境里经常使用,最近开发一个CS项目就使用到了Json,所以再用到了NewtonJson。

NewtonJson开源主要是理解NewtonJson的例子代码,当然codeproject和其它平台也会有NewtonJson的示例代码,这些代码都是NewtonJson特点的理解,值得学习。

在Newtonsoft.Json.Tests目录下重要的有:Benchmarks性能测试、Converters转换、Issues细节问题、JsonTextReaderTests Reader封装、Linq、Schema方案和Serialization序列化,这些例子吃透就能掌握NewtonJson的特点,NewtonJson是高效安全新潮的Json处理库,大家可以放心使用。

NewtonJson开发需要导入NewtoJson,用nuget可以导入,低版本的VS可以下载文件,找到dll,加到项目引用里使用。我用的下载文件名是json130r1,里面并没有NewtonJson名称,比较奇怪。

NewtonJson的使用要充分理解泛型特点,泛型结合类和集合使用很方便,比如:。

DeserializeObject是函数,函数带有和类名,就是泛型的标志,泛型机制使处理数据更方便。NewtonJson的泛型底层用到了Type类型反射机制,泛型类型通过了typeof进行了转换保存,底层使用Type机制处理类的属性。

NewtonJson除了支持泛型,还支持LINQ,LINQ的主要类是JObject、JArray和JValue,NewtonJson里实现了这几类,底层代码非常复杂,正因为有了这些复杂的底层代码,我们可以方便地使用类似下面的代码:

上面代码没有定义类和属性成员,用了dynamic直接代表了类型,但是类型的属性还可以用.来访问到,这非常强大方便。

newtonjson序列化空DataTable 没有字段

参考技术A 需要用到DataTable类型对象与json字符串的互转,datatable中字段的类型容易丢失。
目前这个问题初步解决了。
建议感兴趣的同学研究下framework里面的System.Web.Script.Serialization程序集或者Newtonsoft.Json开源项目,里面有很多关于json的知识。

以上是关于NewtonJson、NewtonJson开源、NewtonJson开发和NewtonJson技巧的主要内容,如果未能解决你的问题,请参考以下文章

NewtonJson DateTime 格式序列化

NewtonJson.dll 3.5版本分享

使用newtonjson解决Json日期格式问题

同一个解决方案或有依赖关系的两个项目引用同名但不同版本的DLL

JSON.NET使用简单说明

Newton JSON 如何将对象序列化为空括号?