json 配列に「3」があるユーザーを選択する必要があります。
{
"People":[
{
"id" : "123",
"firstName" : "Bill",
"lastName" : "Gates",
"roleIds" : {
"int" : ["3", "9", "1"]
}
},
{
"id" : "456",
"firstName" : "Steve",
"lastName" : "Jobs",
"roleIds" : {
"int" : ["3", "1"]
}
},
{
"id" : "789",
"firstName" : "Elon",
"lastName" : "Musk",
"roleIds" : {
"int" : ["3", "7"]
}
},
{
"id" : "012",
"firstName" : "Agatha",
"lastName" : "Christie",
"roleIds" : {
"int" : "2"
}
}
]}
最終的に、私の結果はイーロン・マスクとスティーブ・ジョブズになるはずです。これは私が使用したコードです(およびその他のバリエーション):
var roleIds = pplFeed["People"]["roleIds"].Children()["int"].Values<string>();
var resAnAssocInfo = pplFeed["People"]
.Where(p => p["roleIds"].Children()["int"].Values<string>().Contains("3"))
.Select(p => new
{
id = p["id"],
FName = p["firstName"],
LName = p["lastName"]
}).ToList();
次のエラーが表示されます。
"Accessed JArray values with invalid key value: "roleIds". Int32 array index expected"
私はに変わり.Values<string>()
ましたが.Values<int>()
、まだ運がありません。
私は何を間違っていますか?