Json格式与对象之间的映射关系
大括号与中括号
- 大括号({}):可以看作是一个对象,或者对应于程序中的对象,对象中可以包含属性
大括号{}内部是采用key:value的形式,key可以是string,int等,value可以是string,int,或者是对象。具体的与对象的映射关系请参考第二节。
- 中括号([]):表示一个数组,要求其中的元素具有相同的结构和类型,e.g.,可以是string, int, 也可以是对象(i.e., 对应大括号)
与对象的映射
大括号映射为对象
{
"cat": {
"name": "aa"
}
}
class Cat
{
public string name {get;set;}
}
class Demo
{
Cat cat {get;set;}
}
大括号映射为字典
{
"cat": {
"name1": "aa",
"name2": "bb",
"name3": "cc"
}
}
class Demo
{
public Dictionary<string, string> cat {get;set;}
}
对象序列化与反序列化
序列化
using System.Web.Script.Serialization;
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.MaxJsonLength = Int32.MaxValue;
string str = serializer.Serialize(demo);
httpResp = new HttpResponseMessage { Content = new StringContent(str, System.Text.Encoding.GetEncoding("UTF-8"), "application/json") };
反序列化
using System.Web.Script.Serialization;
JavaScriptSerializer serializer = new JavaScriptSerializer();
inputParam = serializer.Deserialize<Demo>(strJsonText);