zoukankan      html  css  js  c++  java
  • Json.Net的介绍与简单实用(兼容2.0/3.0/3.5/4.5/RT)

    本文的前提是你已经熟悉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字符串

    [csharp]
    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); 

     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字符串

  • 相关阅读:
    新建maven web工程报错
    Linux的系统suspend和resume
    Linux内核配置---menuconfig
    printk()函数学习笔记
    驱动调试笔记
    i2c接口笔记
    无线路由器的加密模式WEP,WPA-PSK(TKIP),WPA2-PSK(AES) WPA-PSK(TKIP)+WPA2-PSK(AES)。
    Linux下sniffer实现(转)
    驱动模块(3)——Linux交叉编译工具链
    ehci ohci 驱动逻辑
  • 原文地址:https://www.cnblogs.com/menyiin/p/3903041.html
Copyright © 2011-2022 走看看