跳转至

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);