JSONのC#のシリアライズとデシリアライズ

はじめに:JSONと、多くの場合、実際の開発プロセス、直列化と開発のデシリアライズに対処しなければならないが、必要不可欠なスキルとなっています。このブログは、どのようにJSONシリアライズとデシリアライズされるようにお教えします。

まず、NuGetパッケージ、Newtonsoft.Jsonへの参照を追加し、JSONツールでオブジェクトをシリアライズし、デシリアライズすることができます。もちろん、他の手段によって、これが唯一のケース方法を記載しています。

1. JSON文字列デシリアライズ

文字列 strの= " {\"成功\ ":trueの場合、\" MSG \ ":\"获取成功\ "\ "データ\":[{\ "のid \":0、\ "名前\":\" C#の\は」\ "数値\":\ "A-001 \"、\ "日付\":\ "2019年8月2日\"}、{\ "のID \":1、\ "名\" "日付\" \ "A-002 \" \:\ "数値\" \ "Golang \は" 2、\」: "2019年8月3日\"}、{\ "のID \" \名前\ ":\": ":\ "日付\ "\、" A-003 \ "\"のJava \は数\ "\"である2019年8月4日\"}]} " ;

私たちは、クラスを作成し、この面JSON文字列を解析することができます。

あなたはJSONオブジェクトの明確な構造を見たい場合は、検索エンジンに入力されたJSON JSON文字列をコピーすることができます

 

ちょうどにJSON文字列の入力は、その構造は非常に明確であることは、上記のいずれかを選択してください

 

 

 、多くの話を二つのクラスのメッセージを確立していなかった、DATAS

  パブリック クラスのメッセージ
    {
        パブリック ブール成功{ 取得しますセット; }
         パブリック 文字列 MSG { 得ますセット; }
         パブリックリスト<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!搞定、

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

 

おすすめ

転載: www.cnblogs.com/zhangnever/p/11290870.html