本文的前提是你已经熟悉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.Net | DataContractJsonSerializer | JavaScriptSerializer |
| Json | 支持 | 支持 | 支持 |
| 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字符串。

本文详细介绍了Json.Net框架的功能与性能优势,对比.NET内置的Json序列化方式,通过实例展示了如何使用Json.Net进行Json与.NET对象之间的转换。重点介绍了常用方法如SerializeObject和DeserializeObject,以及其在.NET环境下的高效应用。

被折叠的 条评论
为什么被折叠?



