zoukankan      html  css  js  c++  java
  • Json.net说法——(二)集合序列化

    集合序列化

    Json序列化器支持大量序列化和反序列化集合对象的方法。

     

    要序列化一个集合(泛型列表,字典或自定义集合),只需简单的调用相关的序列化器就可以了。json.net会序列化这个集合和它包含的所有值。

    序列化

    List<Customer> _list = new List<Customer>();

    _list.Add(new Customer {  Unid=1, CustomerName="宋江",Memo="天魁星"});

    _list.Add(new Customer { Unid = 1, CustomerName = "吴用", Memo = "天机星" });

    _list.Add(new Customer { Unid = 1, CustomerName = "石秀", Memo = "天慧星" });

     

    string strJson = JsonConvert.SerializeObject(_list, Formatting.Indented);

     

    /*

    [{"ID": 1,"CustomerName": "宋江","Memo": "天魁星"},

      {"ID": 1,"CustomerName": "吴用","Memo": "天机星"},

      {"ID": 1,"CustomerName": "石秀","Memo": "天慧星"}]

    */

     

    反序列化

    反序列化一个json对象到一个.net集合,只需指定要反序列化的集合类型即可。json.net支持大量的集合类型。

     

    string strJson = @"[{""ID"": 1,""CustomerName"": ""宋江"",""Memo"": ""天魁星""},{""ID"": 1,""CustomerName"": ""吴用"",""Memo"": ""天机星""},{""ID"": 1,""CustomerName"": ""石秀"",""Memo"": ""天慧星""}]";

    List<Customer> _list = JsonConvert.DeserializeObject<List<Customer>>(strJson);

    foreach (Customer c in _list)

    {

        Console.WriteLine(c.CustomerName);

    }

     

    /*

    宋江

    吴用

    石秀

    */

     

    反序列化字典

    json.net也能把json对象反序列化为一个泛型字典。json对象的属性名和值会被添加到一个字典中。

     

    string strJson = @"{""ID"": 1,""CustomerName"": ""宋江"",""Memo"": ""天魁星""}";

    Dictionary<string, string> _dictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(strJson);

     

    foreach (KeyValuePair<string, string> kp in _dictionary)

    {

        Console.WriteLine(kp.Key + ":" + kp.Value);

    }

    这里还用这个例子,虽然这个例子没有意义,但属性与属性值也可以看做一个字典关系。

     

     

  • 相关阅读:
    LeetCode Power of Three
    LeetCode Nim Game
    LeetCode,ugly number
    LeetCode Binary Tree Paths
    LeetCode Word Pattern
    LeetCode Bulls and Cows
    LeeCode Odd Even Linked List
    LeetCode twoSum
    549. Binary Tree Longest Consecutive Sequence II
    113. Path Sum II
  • 原文地址:https://www.cnblogs.com/jams742003/p/1631829.html
Copyright © 2011-2022 走看看