如何将JSON转换成实体类集合?
例如
{
peoples:
{
people:
[
{'id':'001','name':'张三'},
{'id':'002','name':'李四'},
{'id':'003','name':'王五'}
]
}
}
如何将诸如此类的JSON转换成实体类集合 List<People>? --------------------编程问答-------------------- public static List<T> JSONStringToList<T>(this string JsonStr)
{
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
return objs;
}
public static T Deserialize<T>(string json)
{
T obj = Activator.CreateInstance<T>();
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType());
return (T)serializer.ReadObject(ms);
}
}
注意Serializable, --------------------编程问答-------------------- 这个怎么用啊? --------------------编程问答-------------------- 序列化和反序列化~~使用见GOOGLE --------------------编程问答--------------------
/// <summary>
/// Get An Object By Deserialize From Json String
/// </summary>
/// <typeparam name="T">Gneric Type</typeparam>
/// <param name="jsonString">Json String</param>
/// <returns>An Assigned Type Object </returns>
public static T DeserializeFromJson<T>(string jsonString) where T : class
{
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
T obj = (T)ds.ReadObject(ms);
return obj;
}
}
用法:
string JsonString=“....”
List<T> obj = JsonUtility.DeserializeFromJson<List<T>>(JsonString);//注意T是可序列化类型 --------------------编程问答-------------------- 一般情况,先转成实体类,再自己加工成集合实体类更加符合常理
补充:.NET技术 , .NET Framework