使用Json.NET具有动态索引时如何解析动态json

时间:2018-06-29 06:59:26

标签: c# json json.net

从下面的Json中,我想从索引1对象获取“ OutletID”,并且该索引将动态更改(例如:它可能具有1个或多个数据对象)。使用SelectToken fron JSON.NET,我们如何实现这一目标?无需创建任何类。

{
"status": {
    "rcode": 200,
    "message": "OK"
},
"data": {
    "0": {
        "SubFranchiseID": "0",
        "OutletID": "607",
        "OutletName": "Spill "
    },
    "1": {
        "SubFranchiseID": "0",
        "OutletID": "32",
        "OutletName": "PizzaRoma"
    }
},
"hash": "b262c62ea3c8c693ad35210289a487d6963434d7"
}

1 个答案:

答案 0 :(得分:0)

如果想要索引为1的元素,可以执行以下操作:

dynamic json = JObject.Parse(@string);

var data = (JToken)json.SelectToken("data");

var results = data == null
    ? Enumerable.Empty<dynamic>()
    : (from item in data
       select item.First.ToObject<dynamic>());

var outletId = results.ToList()[1].OutletID;