jsonレスポンスからいくつかの値を選択する必要があります。私はjson.netを使っていますが、もっと簡単なものでいいですが、過去のことについては多くのドキュメント/チュートリアルがあるようです。JSON.NET linqで配列内の項目を選択
var stuff = response["teacherHolder"].Children()["students"];
var names = from y in stuff.Children().Values()
select y["name"];
と、この:
var names= response["teacherHolder"]
.Select(s => (string)s.SelectToken("students[0].name")).ToList();
が、私はこれと他のバリエーションを試してみました
{
"teacherHolder": [{
"id": 200000001,
"name": "Mr Test",
"class": "a4",
"students": [{
"id": "100532469",
"name": "ben"
},
{
"id": "100506025",
"name": "bill"
},
{
"id": "100000447",
"name": "bob"
}]
}]
}:JSONの例では、私はすべての年齢層を選択する必要があります下にレスポンスは、WebリクエストからのJObjectです。 私はちょうどこれを取り戻す:結果は、最終的に辞書に入れている
[{"Key":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]","Value":"Newtonsoft.Json.Linq.JEnumerable`1[Newtonsoft.Json.Linq.JToken]"}]
。
どうすればいいですか?私はそれが簡単になることを知って、私はちょうど正しい組み合わせを発見havent。
こんにちはsvickイムを - しかし、私は戻って取得しています:{Newtonsoft.Json.Linq.JEnumerable}はnames変数にありますか? –
gdp
はい、そのため、 'string'のコレクションが必要な場合は、' Values() 'を追加する必要があります。 –
svick
こんにちはsvick私は最後に値()を追加しました。今すぐ: var names = students.Children()["name"]。値(); –
gdp