zoukankan      html  css  js  c++  java
  • (转).NET3.5中JSON用法以及封装JSON工具类(一)

        原文地址:http://www.cnblogs.com/wangwei123/archive/2010/05/14/1735763.html

      在.NET3.5中的Silverlight类库中,微软提供了System.Json.dll程序集,我们直接添加引用后就可以使用JsonArray 和 JsonObject来对json格式数据序列化或反序列化。

    具体用法如下:

    //================================================================
        String jsonString = "{\"id\":\"0001\",\"name\":\"香蕉\",\"price\":3.30,\"stock\":200,\"date\":\"2010-05-01\"}";

    //将JSON文本字符串jsonString反序列化成JSON对象
    JsonObject jsonObject = JsonObject.Parse(jsonString) as JsonObject;

    //从JSON对象中取值
    String id = jsonObject["id"];
    String name 
    = jsonObject["name"];
    Double price 
    = jsonObject["price"];
    Double stock 
    = jsonObject["stock"];
    String date 
    = jsonObject["date"];

    //将JSON对象序列化成JSON文本:
    jsonObject.ToString(); //结果与jsonString一样。

    //================================================================
    //上面是对单个JSON对象的序列化和反序列化,下面多个使用JsonArray
        String jsonString 
    = "[{\"id\":\"0001\",\"name\":\"香蕉\",\"price\":3.30,\"stock\":200,\"date\":\"2010-05-01\"},
    {\"id\":\"0002\",\"name\":\"苹果\",\"price\":3.87,\"stock\":125.8,\"date\":\"2010-05-02\"}]";

    JsonArray jsonArray 
    = JsonArray.Parse(jsonString) as JsonArray;
    foreach (JsonObject jsonObject in jsonArray)
    {
        String id 
    = jsonObject["id"];
        String name 
    = jsonObject["name"];
        Double price 
    = jsonObject["price"];
        Double stock 
    = jsonObject["stock"];
        String date 
    = jsonObject["date"];
        
        Console.WriteLine(
    "id=" + id);
        Console.WriteLine(
    "name=" + name);
        Console.WriteLine(
    "price=" + price);
        Console.WriteLine(
    "stock=" + stock);
        Console.WriteLine(
    "date=" + date);
        Console.WriteLine(
    "");
    }
    循环遍历JsonArray对象,JsonArray可以理解为泛型对象集合,
    其内部由0个或者多个JsonObject组成。
    类似于: ArrayList
    <JsonObject> arr = new ArrayList<JsonObject>();

     上面只是较为简单的应用,而且当我们需要将JSON文本反序列化成实体类或者实体类List集合时,不进行封装,那每次代码量都将是非常之大的,关于封装JSON工具类将在下一篇.NET3.5中JSON用法以及封装JSON工具类(二)中来详细的研究分析。

  • 相关阅读:
    又玩起了“数独”
    WebService应用:音乐站图片上传
    大家都来DIY自己的Blog啦
    CSS导圆角,不过这个代码没有怎么看懂,与一般的HTML是不同
    网站PR值
    CommunityServer2.0何去何从?
    网络最经典命令行
    炎热八月,小心"落雪"
    Topology activation failed. Each partition must have at least one index component from the previous topology in the new topology, in the same host.
    SharePoint 2013服务器场设计的一些链接
  • 原文地址:https://www.cnblogs.com/fcsh820/p/1736095.html
Copyright © 2011-2022 走看看