使用JSON.NET库在JArray中查找节点(JObject)

时间:2013-11-01 11:45:18

标签: c# json json.net

我正在使用JSON.NET库。我创建了几个JObject并将它们添加到JArray中。

JArray array = new JArray();

JObject obj = new JObject();
obj.Add(new JProperty("text", "One"));
obj.Add(new JProperty("leaf", false));
array.Add(obj);

obj = new JObject();
obj.Add(new JProperty("text", "Two"));
obj.Add(new JProperty("leaf", false));
array.Add(obj);

obj = new JObject();
obj.Add(new JProperty("text", "Three"));
obj.Add(new JProperty("leaf", true));
array.Add(obj);

现在我想找到一个JObject,其文本(JProperty)是Two。如何使用JProperty在JArray中找到JObject。

1 个答案:

答案 0 :(得分:19)

你可以这样找到:

JObject jo = array.Children<JObject>()
    .FirstOrDefault(o => o["text"] != null && o["text"].ToString() == "Two");

这将找到JObject中的第一个JArray,其中包含名为text的属性,其值为Two。如果不存在此类JObject,则jo将为空。