C# 怎么把JSON解析到对象

Prosperou 2012-09-15 04:51:40
{"response":{"errorCount":0,"orderList":{"order":[{"orderAmount":119,"orderCode":"120914FAYKSR","orderCreateTime":"2012-09-14
16:46:21","orderDeliveryFee":0,"orderId":75483957,"orderNeedInvoice":2,"orderStatus":"ORDER_TRUNED_TO_DO","productAmount":119,"updateTime":"2012-09-14
17:05:13"},{"orderAmount":119,"orderCode":"120914TB23GA","orderCreateTime":"2012-09-14
23:51:25","orderDeliveryFee":0,"orderId":75566567,"orderNeedInvoice":2,"orderStatus":"ORDER_TRUNED_TO_DO","productAmount":119,"updateTime":"2012-09-15
00:08:14"}]},"totalCount":2}}

C# 怎么把这段JSON数据解析为order对象,然后更新到数据库中啊,求教

能写个示例吗
...全文
2731 点赞 收藏 15
写回复
15 条回复
姓名不能为空 2014年02月15日
protected void Page_Load(object sender, EventArgs e) { var jdata="[{\"id\":0,\"email\":\"abccd\",\"age\":0},{\"id\":1,\"email\":\"abc1\",\"age\":2}]"; // string jsonData = context.Request.Form["jdata"]; //取得这个json字符串 string jsonData = jdata; //取得这个json字符串 string datastr = ""; //调用上面这个方法,把json字符串传进去,就得到一个对象集合了 List<Person> DataReust = JSONToObject<List<Person>>(jsonData); for (int i = 0; i < DataReust.Count; i++) { int id = DataReust[i].id; string email = DataReust[i].email; int age = DataReust[i].age; datastr += "id:" + id + " email:" + email + " age:" + age+" "; } } //做一个类id,email,age和json格式一致 public class Person { public int id { set; get; } public string email { set; get; } public int age { set; get; } } //这个一个反序列化的方法,用于返回泛型集合 public static T JSONToObject<T>(string jsonText) { JavaScriptSerializer jss = new JavaScriptSerializer(); return jss.Deserialize<T>(jsonText); }
回复 点赞
Prosperou 2012年09月17日
[Quote=引用 2 楼 的回复:]
http://json.codeplex.com/

http://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.json.datacontractjsonserializer(v=vs.100).aspx
[/Quote]
兄弟,这个方便弄一个示例吗?
回复 点赞
Prosperou 2012年09月17日
[Quote=引用 6 楼 的回复:]

请参考 C#Json转对象
[/Quote]
哥们,还是没用啊, 我这个格式跟那个不一样{"response":{"errorCount":0,"orderList":{"order":[{"orderAmount":119,"orderCode":"120914FAYKSR","orderCreateTime":"2012-09-14 16:46:21","orderDeliveryFee":0,"orderId":75483957,"orderNeedInvoice":2,"orderStatus":"ORDER_TRUNED_TO_DO","productAmount":119,"updateTime":"2012-09-14 17:05:13"},{"orderAmount":119,"orderCode":"120914TB23GA","orderCreateTime":"2012-09-14 23:51:25","orderDeliveryFee":0,"orderId":75566567,"orderNeedInvoice":2,"orderStatus":"ORDER_TRUNED_TO_DO","productAmount":119,"updateTime":"2012-09-15 00:08:14"}]},"totalCount":2}}
回复 点赞
yonglaixiazaide 2012年09月17日
定义一个 和你json里一样的示例,主要是字段一样
回复 点赞
Chobitssp 2012年09月17日
http://json.codeplex.com/
回复 点赞
rczjp 2012年09月17日
请参考 C#Json转对象
回复 点赞
Prosperou 2012年09月17日
[Quote=引用 3 楼 的回复:]

C# 解析JSON的方法:

C# code

var json = {"你的JSON"};
var orders = json.Deserialize<Order>(json);
[/Quote]
兄弟,这样还是不行啊
回复 点赞
yonglaixiazaide 2012年09月17日
你这个是嵌套的结构 定义一个response类有errorCount,orderList,totalCount3个属性
其中orderList 是List<order> 定义order类有:":"orderAmount":119,"orderCode":"120914FAYKSR","orderCreateTime":"2012-09-14 16:46:21","orderDeliveryFee":0,"orderId":75483957,"orderNeedInvoice":2,"orderStatus":"ORDER_TRUNED_TO_DO","productAmount":119,"updateTime":"2012-09-14 17:05:13

这中的属性就OK了
回复 点赞
zhouxingyu896 2012年09月17日
支持2楼的呢
回复 点赞
Prosperou 2012年09月17日
[Quote=引用 2 楼 的回复:]
http://json.codeplex.com/

http://msdn.microsoft.com/zh-cn/library/system.runtime.serialization.json.datacontractjsonserializer(v=vs.100).aspx
[/Quote]
哥们,方便弄一个demo吗,这种JSON格式的还是有点没搞明白
回复 点赞
zg_heng 2012年09月17日
http://www.cnblogs.com/pen-ink/archive/2011/10/06/2199715.html
这个推荐一下。希望能帮助你。
回复 点赞
OObigO 2012年09月16日
C# 解析JSON的方法:


var json = {"你的JSON"};
var orders = json.Deserialize<Order>(json);
回复 点赞
瑞卡哥哥 2012年09月16日

var json = {"response":{"errorCount":0,"orderList":{"order":[{"orderAmount":119,"orderCode":"120914FAYKSR","orderCreateTime":"2012-09-14
16:46:21","orderDeliveryFee":0,"orderId":75483957,"orderNeedInvoice":2,"orderStatus":"ORDER_TRUNED_TO_DO","productAmount":119,"updateTime":"2012-09-14
17:05:13"},{"orderAmount":119,"orderCode":"120914TB23GA","orderCreateTime":"2012-09-14
23:51:25","orderDeliveryFee":0,"orderId":75566567,"orderNeedInvoice":2,"orderStatus":"ORDER_TRUNED_TO_DO","productAmount":119,"updateTime":"2012-09-15
00:08:14"}]},"totalCount":2}};
var orders = json.Deserialize<Order>(json);
回复 点赞
aloxy 2012年09月15日
正则表达式
回复 点赞
发动态
发帖子
C#
创建于2007-09-28

8.5w+

社区成员

64.0w+

社区内容

.NET技术 C#
社区公告
暂无公告