zoukankan      html  css  js  c++  java
  • Json的序列化与反序列化

    对于Json的序列化和反序列化,如果自己编写源代码来实现的话,很复杂很烦,所以我采用的是使用别人已经写好的引用文件。这类文件网上有很多,我用的是LitJson,当然Newtonsoft也可以,但后者需要自己为数据结构写一个类来承接序列化之前和反序列化后的数据。

    首先从网上下载LitJson库文件,也可以找我要(QQ2422082778)。然后在项目里引用LitJson的dll文件,在litjson-0.7.0in,LitJson如下图:

    然后我们就可以使用它了。为了更好的在编写代码的时候更好的使用它,我们把它用using引入到需要使用的代码文件里:using LitJson;。

    为了更好的演示序列化和反序列化,我自建了一个product类

    1 namespace JSonTest
    2 {
    3     class Product
    4     {
    5         public string name;
    6         public DateTime expiry;
    7         public string[] sizes=new string[3];
    8     }
    9 }

    1.序列化

    1 //设置对象
    2 Product product=new Product();
    3 product.name = "Apple";
    4 product.expiry = new DateTime(2014,12,6,13,12,12);
    5 product.sizes = new string[] { "Small", "Medium", "Large" };
    6 //序列化
    7 JsonData xx= JsonMapper.ToJson(product);
    8 Console.WriteLine(xx.ToString());//转化为字符串
    9 Console.WriteLine(xx.ToJson());//转化为Json类型的字符串

    序列化结果截图

    2.反序列化

    1 //设置对象
    2 Product product=new Product();
    3 product.name = "Apple";
    4 product.expiry = new DateTime(2014,12,6,13,12,12);
    5 product.sizes = new string[] { "Small", "Medium", "Large" };
    6 //反序列化
    7 JsonData jd =  JsonMapper.ToObject(output);
    8 Console.WriteLine(jd["name"].ToString());//根据属性名获取"name"属性的值

    反序列化结果截图

    很简单的对吧!只要一两句代码就可以了,这就是Json,Json就是这么简单。不过如果你要更深入学习Json的话,就需要花费点心思了。

  • 相关阅读:
    设置MySQL的字符编码
    数据库面试题
    java.lang.IncompatibleClassChangeError: Implementing class
    下载SpringJar包
    使用命令wsimport构建WebService客户端
    java读取.properties配置文件的几种方法
    ELK5.X使用X-Pack配置密码
    Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
    MySQL常用命令
    XPath常用定位节点元素语句总结
  • 原文地址:https://www.cnblogs.com/Failbs/p/4150482.html
Copyright © 2011-2022 走看看