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

    前言:在实际开发过程中经常都要和Json打交道,序列化与反序列化就成了开发中必不可缺的技能。

    首先要添加引用NuGet包,Newtonsoft.Json,通过此工具可对Json对象进行序列化与反序列化。当然还可通过其它方式,这里的话只介绍这一种方法。

    1.反序列化Json字符串

    string str = "{"success":true,"msg":"获取成功","data":[{"id":0,"Name":"is C#","Number":"A-001","Date":"2019-08-02"},{"id":1,"Name":"is Golang","Number":"A-002","Date":"2019-08-03"},{"id":2,"Name":"is Java","Number":"A-003","Date":"2019-08-04"}]}";

    我们可以对这个Json字符串进行刨析,从而建立类。

    如果想更清晰的看清这个Json对象的结构,可将这个Json字符串复制出来,在搜索引擎中输入Json

    随便选择任何一个,将上面那个Json字符串输入进去,它的结构便一目了然

     话不多说,建立两个类 Message、Datas

      public class Message
        {
            public bool success { get; set; }
            public string msg { get; set; }
            public List<Datas> data { get; set; }
        }
     public class Datas
        {
            public int id { get; set; }
            public string Name { get; set; }
            public string Number { get; set; }
            public string Date { get; set; }
        }

    关键代码:

    Message message = JsonConvert.DeserializeObject<Message>(str);

    我们可以查看它的详细信息

    右键点击message,选择快速监视

    此时反序列化已经成功,

    2.序列化对象

    我们可就Datas类作为序列化的对象

    Datas datas = new Datas();
                datas.id = 1001;
                datas.Name = "Object";
                datas.Number = "9527";
                datas.Date = "2019-07-31";
    关键代码:
    string Serializedata = JsonConvert.SerializeObject(datas);

    文本可视化工具查看Serializedata对象:

     3.也可对集合进行序列化与反序列化

    var DataList = new List<Datas>();
                DataList.Add(new Datas
                {
                    id = 1,
                    Name = "aggregate",
                    Number = "A1",
                    Date = "2019-08-01"
                });
                //序列化
                string SerializeDataList = JsonConvert.SerializeObject(DataList);

    文本可视化工具查看SerializeDataList对象:

     反序列化实体对象集合:

      //反序列化实体对象集合
                string Data = "[{"id":0,"Name":"is C#","Number":"A-001","Date":"2019-08-02"},{"id":1,"Name":"is Golang","Number":"A-002","Date":"2019-08-03"},{"id":2,"Name":"is Java","Number":"A-003","Date":"2019-08-04"}]";
    
                var DeserializeData = JsonConvert.DeserializeObject<List<Datas>>(Data);

    可查看DeserializeData对象其详细信息:

    Ok!搞定、

    上面我只是列举了一些简单例子,具体的以实际开发为主、

  • 相关阅读:
    day_03、初识函数
    一、Python简介
    四、列表和元祖
    MinGW安装和使用
    python编码总结
    开博第一篇,学习markdown
    python 2.7.11安装pywin32过程中 停止工作问题
    python读写excel
    关于\r和\n的区别
    1.1 Python for macOS 安装与配置
  • 原文地址:https://www.cnblogs.com/zhangnever/p/11290870.html
Copyright © 2011-2022 走看看