zoukankan      html  css  js  c++  java
  • C#之JSON序列化与反序列化

    JSON的序列化和反序列化已经成为WEB开发不可缺少的知识。

    什么是JSON?
    JSON(JavaScript Object Notation) is a lightweight data-interchange format.It is easy for humans to read and write and easy for machines to parse and generate.JSON is a text format that is completely language independent.
    JSON(JavaScript对象标记法)是一种轻量级数据交换格式。它便于我们读写,也便于计算机生成与解析。JSON是一种完全独立于语言的文本格式。

    C#中序列化与反序列化的方式主要有
    JavaScriptSerializer(System.Web.Extensions System.Web.Script.Serialization)
    JsonConvert(Json.NET Newtonsoft.Json)

    下面分别举例说明两种方法的使用。

    创建一个Person类

    1         class Person
    2         {
    3             public string Name { get; set; }
    4             public int Age { get; set; }
    5             public Dictionary<string, object> WorkExperience { get; set; }
    6             public Person() { }
    7             public void Say(){ }
    8         }

    实例化Person

    1             var person = new Person();
    2             person.Name = "张三";
    3             person.Age = 27;
    4             person.WorkExperience = new Dictionary<string, object>();
    5             person.WorkExperience.Add("A公司", "A职位");
    6             person.WorkExperience.Add("B公司", "B职位");

    JsonConvert Demo

    1             var serializeObject1 = JsonConvert.SerializeObject(person);
    2             var deserializeObject1 = JsonConvert.DeserializeObject(serializeObject1);
    3             Console.WriteLine("使用JsonConvert序列化与反序列化");
    4             Console.WriteLine("序列化结果");
    5             Console.WriteLine(serializeObject1);
    6             Console.WriteLine("反序列化结果");
    7             Console.WriteLine(deserializeObject1);
    8             Console.WriteLine();

    JavaScriptSerializer Demo

    1             var serializeObject2 = new JavaScriptSerializer().Serialize(person);
    2             var deserializeObject2 = new JavaScriptSerializer().Deserialize<Person>(serializeObject2);
    3             Console.WriteLine("使用JavaScriptSerializer序列化与反序列化");
    4             Console.WriteLine("序列化结果");
    5             Console.WriteLine(serializeObject2);
    6             Console.WriteLine("反序列化结果");
    7             Console.WriteLine(deserializeObject2);
    8             Console.WriteLine("姓名:{0},年龄:{1}".FormatWith(deserializeObject2.Name, deserializeObject2.Age));

    好记性不如烂笔头,每天学习点,每天分享点,不忘初心...

  • 相关阅读:
    Solr开发文档(转)
    使用Mybatis-Generator自动生成Dao、Model、Mapping相关文件(转)
    用nodejs搭建最简单、轻量化的http server(转)
    [ASP.NET MVC 小牛之路]03
    【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器(转)
    我是如何在SQLServer中处理每天四亿三千万记录的(转)
    pycharm Unresolved reference 无法引入包
    vue 学习
    《插件》一个比较好用的 chrome浏览器的json格式化插件
    ip地址正则表达式
  • 原文地址:https://www.cnblogs.com/maiaimei/p/7281164.html
Copyright © 2011-2022 走看看