JSON反序列化


/// <summary>

/// JSON反序列化

/// </summary>

public static T JsonDeserialize<T>(string jsonString)
{

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));

MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString));

T obj = (T)ser.ReadObject(ms);

return obj;

}

// List<shopMode> obj = util.HttpWeb.DeserializeFromJson<List<shopMode>>(r);
/// <summary>
/// JSON反序列化集合
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="jsonString"></param>
/// <returns></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;
}
}

var json = "[{"protype_id":14,"bellType":0,"tech_number":7722},{"protype_id":14,"bellType":0,"tech_number":4272},{"protype_id":12,"bellType":0,"tech_number":3225},{"protype_id":12,"bellType":0,"tech_number":3208},{"protype_id":11,"bellType":0,"tech_number":8061},{"protype_id":11,"bellType":0,"tech_number":3216},{"protype_id":11,"bellType":0,"tech_number":6144},{"protype_id":11,"bellType":0,"tech_number":6132},{"protype_id":11,"bellType":0,"tech_number":6272}]";

JavaScriptSerializer js = new JavaScriptSerializer();
List<techItem> team = js.Deserialize<List<techItem>>(json);

//JsonConvert静态方式解析数据
var result = JsonConvert.DeserializeObject<T>(json);
var list = JsonConvert.DeserializeObject<List<T>>(json);

原文地址:https://www.cnblogs.com/sxmny/p/4137899.html