欲解析的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是数组,该数组中又含有一个对象,怎样解析出来放到预定义的类实体中呢?不知道有哪位大神可以给出解答!
你只要按照这个json格式定义一个相同结构的calss出来就行了啊
请问你知道当C# Json中解析出来的value是数组时,怎样得到数组中元素的类型么?现在可能有的类型有JObject JValue,要实现分别解析出来,放到对应的类实体(已经定义好了)中。。。
@adaan: gettype 反射,或者你干脆显示转换
@chenping2008: 要得到JArray里面的元素的类型, 怎么GetType?
假如json字符串:string str = "{\"err\":120,\"err-descr\":\"abcder\"}"
其中的err是可选项,也许str中并不包含err这一键值对,所以得到str对应的Jobject后,怎么判断它的这个key是否存在?
你把问题说详细点吧。输入是什么,期望的输出是什么等等。
使用JavaScriptSerilzeable将这个Json字符串解析出来!!!
使用JavaScriptSerilzeable将这个Json字符串解析出来
设obj是解析出来的对象
调用为:obj.content.avatar_list[0].fullid
类似的调用
提供一个思路,使用 Json.NET 的 Newtonsoft.Json.Linq.JObject.Parse() 方法进行解析,然后进行转换。
楼上正解
用JSon反序列化返回对象
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); T jsonObject = (T)serializer.ReadObject(ms);