根据上述JSON数据的组成,我们定义出相应的对象模型,具体定义如下:
// The Employee model. public class Employee { ; } ; } } // The Name model. public class Name { ; } ; } }接下来,我们将介绍使用JavaScriptSerializer,Json.NET和DataContractJsonSerializer反序列化JSON数据为对象。
JavaScriptSerializer
JavaScriptSerializer(); var employees= serializer.Deserialize<Employee[]>(data);Json.NET
StringReader(data)) JsonTextReader(stringReader)) { JsonSerializer(); var employees = serializer.Deserialize<Employee[]>(jsonTextReader); }DataContractJsonSerializer
对于使用WCF的DataContractJsonSerializer方法,我们需要在对象模型添加DataContract和DataMember属性,具体定义如下:
[DataContract] public class Employee { [DataMember(Name = "id")] ; } [DataMember(Name = "fullname")] ; } } [DataContract] public class Name { [DataMember(Name = "firstName")] ; } [DataMember(Name = "lastName")] ; } }接着我们使用ReadObjects()方法把JSON数据转换为对象。
MemoryStream(Encoding.UTF8.GetBytes(data))) { DataContractJsonSerializer serializer = (List<Employee>)); var employee = (List<Employee>)serializer.ReadObject(ms); } 参考