我需要得到JObject
的第一个孩子。
这是我在第一次迭代后使用foreach循环中断暂时解决它的方法。
foreach (KeyValuePair<string, JToken> item in (JObject)json["stats"])
{
// doing something with item
break;
}
我想知道是否有更短的解决方案,例如json["stats"][0]
(但它不会以这种方式工作)。
答案 0 :(得分:3)
可能有几种方法,但这里有一种:
JToken prop = obj["stats"].First;
如果你知道它是JProperty
:
JProperty prop = obj["stats"].First.ToObject<JProperty>();
答案 1 :(得分:2)
由于JObject
实现IDicionary<string, JToken>
,您可以使用Linq扩展方法。
IDictionary<string, JToken> json = new JObject();
var item = json.First();
答案 2 :(得分:1)
这不会起作用吗?
(json["stats"] as JObject).Select(x =>
{
// do something with the item;
return x;
}).FirstOrDefault();