JSON字符串序列化与反序列化

序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.

1.环境:

开发语言:C#,

开发工具VS2017

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

 

2.JSON文件内容 (注意:最外层为{})

{
  "ID":
  [
    {"x":1,"y":20},
    {"x":2,"y":40}
  ]
}

 

3.定制所需类

class project

{

  public List<userPoint> ID{get;set;}  //此变量名(ID),必须与json文件的变量名一致!!!

}

class userPoint

{

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

  public int y{get;set;}

}

 

4.序列化

JavaScriptSerializer js = new JavaScriptSerializer();

 

//序列化

//var users = new List<project>();
//users.Add(new project() { x = 10, y = 30 });
//users.Add(new project() { x = 20, y = 30 });

//string strUser = js.Serialize(users);  //strUser:序列化后的结果

 

//反序列化:读取文本文件,并进行反序列化

var strJson = js.Deserialize<project>(context);  //注意:此处用的是<project>类型,context为读取的.json文件内容(源码未列出!)

Console.WriteLine("Context:{0},{1}", strJson.ID[0].x, strJson.ID[0].y);

//输出结果:"Context:1,20"

 

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