JSON.NET を使用して C# でこの JSON の一部を解析したいのですが、その方法がわかりません。
ジョンソン:
{
"success":true,
"rgInventory":{
"967633758":{
"id":"967633758",
"classid":"23973033",
"instanceid":"11040671",
"amount":"1",
"pos":1
},
"302756826":{
"id":"302756826",
"classid":"15",
"instanceid":"11041143",
"amount":"1",
"pos":2
},...
}
}
完全な Json: http://steamcommunity.com/id/jessecar/inventory/json/440/2/?trading=1
「rgInventory」の各子の要素を取得する必要がありますが、項目名が常に変化するため、そのためのクラスを作成できません。
このコードを使用してみましたが、常に例外が発生します。
dynamic jsObject = JsonConvert.DeserializeObject(jsonString);
Console.WriteLine("Status: "+jsObject["success"]); //This works fine
foreach(var i in jsObject["rgInventory"]){
Console.WriteLine("Item ID: "+i["id"]); //This gives an exception
}
例外:
未処理の例外: System.InvalidOperationException: Newtonsoft.Json.Linq.JProperty の子の値にアクセスできません。