Newtonsoft dllを使用してネストされたJSONからデータ(電話番号のみ)を取得しようとしています。私はjsonでより多くの価値を持っていますが、私は上記のプロパティでカスタムクラスを作成し、上記のJSONにDeserializeObjectを使用して、電話番号のみを必要とするネストされたJSONから電話番号データを取得する
[{
"name": "sam",
"age": 19,
"Gender" : "F",
"Email" : "[email protected]",
...
"PhoneNumber" :{
"CCode":"1",
"Area": "123",
"PhoneNum": "456-789",
"PhoneExtn": ""
}
...
}]
: JSON(リクエスト)は次のようになりますstringはオプションではありません。しかし、私は、下記のオプションを試してみました:
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