我有一个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(我无法在此发布,因为它太大了)
答案 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>();
这里令人困惑的部分是端点返回每个项目的属性,而不是数组。不幸的是,你无法控制它:)