比较根对象值

时间:2017-02-27 20:20:33

标签: c# json

我有一个JSON列表,它有两个值root object名称作为名称,里面有价格。我必须将root object name与我的名为marketName的变量进行比较,然后在那里获取价格。这样做的最佳方式是什么?这是我目前的代码:

foreach (JToken token2 in tokenJson2["response"])
{
    var name2 = token2[0];

    if(name2 == name)
    {
        // Do some fun here
    }
}

JSON数据来自here(我无法在此发布,因为它太大了)

1 个答案:

答案 0 :(得分:1)

您可以使用Linq迭代对象并获取所需的对象:

var item = tokenJson2["response"]
             .SingleOrDefault(x => ((JProperty) x).Name == name) as JProperty;

if (item == null)
{
    throw new InvalidOperationException("Item not found.");
}

var price = item.Value["price"].ToObject<decimal>();

这里令人困惑的部分是端点返回每个项目的属性,而不是数组。不幸的是,你无法控制它:)