Json.Net的介绍与简单实用(兼容2.0/3.0/3.5/4.5/RT)

来源:互联网 发布:电脑淘宝代收货怎么弄 编辑:程序博客网 时间:2024/06/09 17:52

本文的前提是你已经熟悉Json,如果您还不知道什么是Json是什么,请自行查看维基百科。

一、Json.Net是什么?

  Json.Net是一个读写Json效率比较高的.Net框架.Json.Net 使得在.Net环境下使用Json更加简单。通过Linq To JSON可以快速的读写Json,通过JsonSerializer可以序列化你的.Net对象。让你轻松实现.Net中所有类型(对象,基本数据类型等)和Json的转换。

  点击下载

二、为什么使用Json.Net?

我们知道在.Net中内置了读写Json的对象(DataContractJsonSerializer,JavaScriptSerializer),为什么我们还要用Json.Net呢?

在功能上:


特性Json.NetDataContractJsonSerializerJavaScriptSerializerJson支持支持支持Bson支持不支持不支持Json Schema支持不支持不支持.Net 2.0支持不支持不支持.Net 3.5支持支持支持.Net 4.0支持支持支持Silverlight支持支持不支持Windows Phone支持支持不支持Windows 8 Metro支持支持不支持Linq to Json支持不支持不支持Indented Json(有换行格式的Json)支持不支持不支持Json和XML转换支持不支持不支持序列化DataTable和DataSet支持不支持不支持序列化Entity Framework支持不支持不支持
















在性能上:



三、简单实例

以下就json常用的方法给大家做一个简单的例子:

JavaScriptConvert.SerializeObject:将对象转换为josn字符串

 Productproduct =newProduct();product.Name ="Apple";product.Expiry =newDateTime(2008, 12, 28);product.Price = 3.99M;product.Sizes =newstring[] {"Small","Medium","Large"};string json = JavaScriptConvert.SerializeObject(product);

Newtonsoft.Json.JavaScriptConvert.DeserializeObject:根据json字符串反序列化得到对象。


ProductdeserializedProduct = (Product)JavaScriptConvert.DeserializeObject(output,typeof(Product));


其中的output就是一个json字符串,而product是要反序列化的类对象
通过这两个常用的方法,就可以很方便的从json字符串得到对象和从对象得到json字符串。

原创粉丝点击