您好,欢迎来到抵帆知识网。
搜索
您的当前位置:首页Json序列化和反序列化(Newtonsoft)嵌套反序列化

Json序列化和反序列化(Newtonsoft)嵌套反序列化

来源:抵帆知识网
Json序列化和反序列化(Newtonsoft)嵌套反序列化

<1> 序列化单个实体对象

(1)将本地⽂件中的数据反序列化成实体对象(2)将实体对象序列化

.txt中json格式的数据为:{\"Name\":\"张三\上海市徐汇区\第⼀步:

添加dll引⽤:Newtonsoft.Json.dll (⽹上下载⼀个)using Newtonsoft.Json;第⼆步:

新建⼀个Student实体类:

public class Student{

  public string Name { get; set; }  public int Age { get; set; }

  public string Address { get; set; }}

Main⽅法:

static void Main(string[] args){

  string str = \"\";

  using (StreamReader sw = new StreamReader(@\"D:\\student.txt\  {

    str = sw.ReadToEnd();  }

  if (!String.IsNullOrEmpty(str))  {

    //反序列化(将{\"Name\":\"张三\上海市徐汇区\转化成实体)    Student st = JsonConvert.DeserializeObject(str);

    Console.WriteLine(\"反序列化:\" + \"Name:\" + st.Name + \    //序列化(将实体对象st转化成:{\"Name\":\"张三\上海市徐汇区\    string strSerialize = JsonConvert.SerializeObject(st);    Console.WriteLine(\"序列化: \" + strSerialize);  }

  Console.Read();}

运⾏结果如下:

<2> 嵌套反序列化

例如,需要序列化下⾯的json数据:string Content =

{

  \"rc\": 1,  \"re\": [    {

      \"id\": 123,

      \"name\": \"张三\      \"age\": 20,    }

    ]}

需要定义下⾯两个实体类:

public class UserNameInfo{

  public int rc { get; set; }

  public List re { get; set; } //注意:这⾥⼀定要⽤List}

public class UserInfo{

  public int id { get; set; }

  public string name { get; set; }  public int age { get; set; }}

反序列化即可:

var item = JsonUtil.Deserialize(Content); //Content为要反序列化的Json格式的字符串

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务