首页 新闻 搜索 专区 学院

C# Json的解析

0
悬赏园豆:5 [已解决问题] 解决于 2013-01-24 09:33

欲解析的json字符串如下:

string str_getavatar = "{\"err\":0,\"err-descr\":\"\",\"content\":{\"avatar_list\":[{\"fullid\":\"sip:800888@instlink.com\",\"avatar_file_path\":\"D:\",\"avatar_id\":\"27au\"}]}, \"o_type\":208,\"sal_command_token\":1522}";

 

在content键值对中,其value是数组,该数组中又含有一个对象,怎样解析出来放到预定义的类实体中呢?不知道有哪位大神可以给出解答!

adaan的主页 adaan | 初学一级 | 园豆:193
提问于:2013-01-21 21:45
< >
分享
最佳答案
2

你只要按照这个json格式定义一个相同结构的calss出来就行了啊

收获园豆:3
chenping2008 | 大侠五级 |园豆:9836 | 2013-01-22 09:12

请问你知道当C# Json中解析出来的value是数组时,怎样得到数组中元素的类型么?现在可能有的类型有JObject  JValue,要实现分别解析出来,放到对应的类实体(已经定义好了)中。。。

adaan | 园豆:193 (初学一级) | 2013-01-22 10:07

@adaan: gettype  反射,或者你干脆显示转换

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-22 10:21

@chenping2008: 要得到JArray里面的元素的类型,    怎么GetType?

adaan | 园豆:193 (初学一级) | 2013-01-22 10:58

假如json字符串:string str = "{\"err\":120,\"err-descr\":\"abcder\"}"

其中的err是可选项,也许str中并不包含err这一键值对,所以得到str对应的Jobject后,怎么判断它的这个key是否存在?

adaan | 园豆:193 (初学一级) | 2013-01-24 09:36
其他回答(6)
0

你把问题说详细点吧。输入是什么,期望的输出是什么等等。

月窟仙人 | 园豆:383 (菜鸟二级) | 2013-01-21 22:13
0

使用JavaScriptSerilzeable将这个Json字符串解析出来!!!

Kencery | 园豆:357 (菜鸟二级) | 2013-01-22 08:22
0

使用JavaScriptSerilzeable将这个Json字符串解析出来

设obj是解析出来的对象

调用为:obj.content.avatar_list[0].fullid

类似的调用

收获园豆:1
hongdada | 园豆:216 (菜鸟二级) | 2013-01-22 11:58
1

提供一个思路,使用 Json.NET 的 Newtonsoft.Json.Linq.JObject.Parse() 方法进行解析,然后进行转换。

收获园豆:1
dudu | 园豆:38815 (高人七级) | 2013-01-22 12:15
0

楼上正解

左立军 | 园豆:62 (初学一级) | 2013-01-22 15:18
0

用JSon反序列化返回对象

DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
                    T jsonObject = (T)serializer.ReadObject(ms);
淘@淘 | 园豆:582 (小虾三级) | 2013-01-23 14:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册