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的话,就需要花费点心思了。

  • 相关阅读:
    中债登、银行间市场、上清所… 这些机构你能分清几个?
    期货界的四大天王
    心理学的几个现象
    西方金融交易员揭露行业潜规则
    瑞银保住欧股交易经纪龙头宝座 算法交易傲视同业
    【Python】 zabbixAPI的包装pyzabbix
    【Python】 日志管理logging
    【Python】 子进程创建与使用subprocess
    【Python】 配置解析ConfigParser & 命令行参数解析optparser
    【Python】 SSH连接的paramiko
  • 原文地址:https://www.cnblogs.com/Failbs/p/4150482.html
Copyright © 2011-2022 走看看