私は MVC 3 Web アプリを持っており、クライアント jquery に返される結果を制限するために Linq を使用したい JSON オブジェクトを返しています。
Json 応答は次の構造を取ります。
{
"Data": {
"Items": [
{
"Result": {
"Id": "e2ba4912-c387-4f54-b55e-06742a6858db",
"Name": "SomeOtherSetting",
"Value": "500",
"Archived": false
},
"Result": {
"Id": "17c27584-cea8-42c2-b6c4-0b30625ac3ce",
"Name": "Setting2",
"Value": "600",
"Archived": false
},
"Result": {
"Id": "17c27584-cea8-42c2-b6c4-0b30625ac3ce",
"Name": "Setting3",
"Value": "700",
"Archived": false
}
}]
}
}
....
たとえば、「設定」のような名前を持つ json アイテムだけを返すか、取得する必要があります。この例では、2 つの Json ノードのみが返されます。
私のLinqは非常に限られており、私が持っているものは次のとおりです。設定は、Json応答が保存される場所です。
NewtonSoft.Json.Linq.JObject data = NewtonSoft.Json.Linq.JObject.Parse(Settings);
var result = from p in data["Data"]["Items"].Children()
where (p["Result"]["Name"].Contains("Expenses.Help.Tip"))
select new { Name = (string)p["Result"]["Name"], Value = (string)p["Result"]["Value"] };
これを実行すると、結果に何も得られません。誰かが私が間違っていることを教えてくれますか?
ありがとう。