代码demo:http://files.cnblogs.com/hongfei/json%E6%B5%8B%E8%AF%95.rar
json数据反序列化调试
private void button3_Click(object sender, EventArgs e) { string json = "{\"result\":[{\"MD\":\"0\",\"TI\":\"\u003cfont color=#C60A00\u003eseo\u003c/font\u003e.\"。。。"; Dictionary<string, object> dic = JsonHelper.DataRowFromJSON(json); foreach (KeyValuePair<string, object> item in dic) { if (item.Key.ToString() == "result") { ArrayList list = (item.Value) as ArrayList; for (int i = 0; i < list.Count; i++) { //如何读取result中的数据呢? } } } }
建议使用Json.NET
为什么要转换成字典形式呢?按对应关系来说,json是应该对应到c#里的一个对象模型的,你需要建立一个模型类,然后反序列化成这个模型类
我的需求是这样的:
将result中的信息提取出来显示在界面上,转成字典形式好操作(比如:根据键取对应的值)
不然还有其他方法吗?
@MarcoFly: 哦 试试Newtonsoft.Json,有个JsonConvert.DeserializeObject<Dictionary<string, string>>(json)类似的方法
新建一个model,属性跟你jSON字符串一样就可以反序列化了
能帮我看下吗,我已经将类什么的都写好了,已经能够反序列化了,但是就是不知道怎么读取result中的信息(新手)
这是demo:http://files.cnblogs.com/hongfei/json%E6%B5%8B%E8%AF%95.rar
hi,按照楼主的意思,不是直接list[i]就能得到里面的值了吗?