JSON字符串序列化与反序列化 (扩展篇-JSON数组)

1.环境:

开发语言:C#,

开发工具VS2017

using System.Web.Script.Serialization;  //需要添加System.Web.Extensions.dll

 

2.JSON文件内容 (注意:最外层是数组[])

[
  {
  "ID":0,
  "serials":
  [
    {"x":1,"y":20},
    {"x":2,"y":40}
  ]
  },
  {
  "ID":1,
  "serials":
  [
    {"x":1,"y":8},
    {"x":2,"y":9}
  ]
  }
]

 

3.定制所需类

class project

{

 

       //此变量名(ID,serials),必须与json文件的变量名一致!!!

  public string ID { get; set; }
  public List<userSerials> serials{ get; set; }

}

class userPoint

{

  public int x{get;set;}  //此变量名(x,y),必须与json文件的变量名一致!!!

  public int y{get;set;}

}

 

4.反序列化

JavaScriptSerializer js = new JavaScriptSerializer();

 

//此处用的是<List<project>>类型,context为读取的.json文件内容(源码未列出!)

var strJson = js.Deserialize<List<project>>(context);  

Console.WriteLine("序列A:ID:{0},第2个点坐标:{1},{2}", strJson[0].ID, strJson[0].serials[1].x, strJson[0].serials[1].y);

//输出结果:"序列A:ID:0,第2个点坐标:2,40"

posted @ 2022-04-18 12:26  冲云霄  阅读(193)  评论(0)    收藏  举报