锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / NewtonJson、NewtonJson开源、NewtonJson开发和NewtonJson技巧
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft
NewtonJson

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


背景

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

NewtonJson开源

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

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

NewtonJson开发

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

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

string json = @"{
                'Name': 'Bad Boys',
                'ReleaseDate': '1995-4-7T00:00:00',
                'Genres': [
                'Action',
                'Comedy'
                ]
                }";
                Movie m = JsonConvert.DeserializeObject<Movie>(json);
                string name = m.Name;

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

NewtonJson技巧

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

 string rawJson = @"{
  ""task"": {
  ""dueDate"": ""2012-12-03T00:00:00""
                }
                }";
              dynamic dyn = JsonConvert.DeserializeObject<dynamic>(rawJson);
                DateTime dueDate = dyn.task.dueDate.Value;

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

NewtonJson开源
友情链接
版权所有 Copyright(c)2004-2021 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州大学北校区院(文化路97号院)内