• 在C#中实现Json的序列化与反序列化


    第一种方式利用 JavaScriptSerializer 【对应的Assembly 为 System.Web.Extensions.dll】 进行处理:

        public static class KasJsonSerializer
        {
            public static string Serialize<T>(T t)
            {
                JavaScriptSerializer jsonSerialize = new JavaScriptSerializer();
                return jsonSerialize.Serialize(t);
            }
    
            public static T Deserialize<T>(string jsonString)
            {
                JavaScriptSerializer jsonSerialize = new JavaScriptSerializer();
                return (T)jsonSerialize.Deserialize<T>(jsonString);
            } 
        }

    第二种方式利用Json.Net处理, 用 JsonConvert 【对应的Assem 为 Newtonsoft.Json.dll】 进行处理,并且这是更好的一种方式。

    序列化:

    Product product = new Product();
    product.Name = "Apple";
    product.Expiry = new DateTime(2008, 12, 28);
    product.Sizes = new string[] { "Small" };
    
    string json = JsonConvert.SerializeObject(product);
    // {
    //   "Name": "Apple",
    //   "Expiry": "2008-12-28T00:00:00",
    //   "Sizes": [
    //     "Small"
    //   ]
    // }

    反序列化:

    string json = @"{
      'Name': 'Bad Boys',
      'ReleaseDate': '1995-4-7T00:00:00',
      'Genres': [
        'Action',
        'Comedy'
      ]
    }";
    
    Movie m = JsonConvert.DeserializeObject<Movie>(json);
    
    string name = m.Name;
    // Bad Boys

    更多内容请看如下链接: http://www.newtonsoft.com/json 

  • 相关阅读:
    行编辑
    二叉树
    多项式乘法
    引用标准库查看当前目录
    双向链表
    哈希表查找
    perl模块
    顺序栈实现
    C#中访问注册表
    查看perl的版本、配置和库信息
  • 原文地址:https://www.cnblogs.com/mingmingruyuedlut/p/4717821.html
Copyright © 2020-2023  润新知