您的位置:首页 > Web前端 > JavaScript

C#将Json字符串反序列化成List对象类集合

2015-10-06 09:00 796 查看
摘自:http://blog.csdn.net/cdefg198/article/details/7520398

using System.IO;

using System.Web.Script.Serialization;

using System.Runtime.Serialization.Json;

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

{

DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());

return (T)serializer.ReadObject(ms);

}

}


好了,我们来测试下

string JsonStr = "[{Name:'苹果',Price:5.5},{Name:'橘子',Price:2.5},{Name:'柿子',Price:16}]";

List<Product> products = new List<Product>();

products = JSONStringToList<Product>(JsonStr);

//Response.Write(products.Count());

foreach (var item in products)

{

Response.Write(item.Name + ":" + item.Price + "<br />");

}

public class Product

{

public string Name { get; set; }

public double Price { get; set; }

}


结果:

苹果:5.5
橘子:2.5
柿子:16
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: