我想从嵌套的JSON使用Newtonsoft DLL检索数据(只是电话号码)。 JSON(请求)看起来是这样的:从嵌套的JSON检索电话号码数据
[{
"name": "sam",
"age": 19,
"Gender" : "F",
"Email" : "[email protected]",
...
"PhoneNumber" :{
"CCode":"1",
"Area": "123",
"PhoneNum": "456-789",
"PhoneExtn": ""
}
...
}]
我有更多的价值在json,但我只需要电话号码,所以上面的属性上述JSON创建自定义类和使用DeserializeObject字符串不是一个选项。不过,我也尝试了以下选项:
dynamic jsonObj = JsonConvert.DeserializeObject(request);
var option1 = (string)jsonObj["PhoneNumber"]["CCode"];
var option2 = (string)jsonObj["PhoneNumber"][0]["CCode"];
//option3
PhoneNumberModel phone = JsonConvert.DeserializeObject<PhoneNumberModel>(jsonObj["PhoneNumber"].ToObject<string>());
//option4
PhoneNumberModel phone = JsonConvert.DeserializeObject<PhoneNumberModel>(jsonObj["PhoneNumber"][0].ToObject<string>());
获取这些异常:
1. Cannot apply indexing with [] to an expression of type for first three options
2. Accessed JObject values with invalid key value: 0. Object property name expected for option 4.
我已经尝试了很多提供在线解决方案,但没有工作。我现在没有选择了。
你不** **有创建所有的JSON性能特性;只是你需要的那些... – Kyle
@Kyle。是的,这工作。谢谢。 – Samyukta