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技巧的主要内容,如果未能解决你的问题,请参考以下文章