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 serials{ get; set; }

class userPoint

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

  public int y{get;set;}

4.反序列化

JavaScriptSerializer js = new JavaScriptSerializer();

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

var strJson = js.Deserialize>(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"