一尘不染

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

json

我正在使用JSON.NET库。我创建了几个JObjects并将它们添加到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);

现在,我想找到一个文本(JProperty)为的JObject Two。如何通过使用JProperty在JArray中找到JObject。


阅读 590

收藏
2020-07-27

共1个答案

一尘不染

您可以这样找到它:

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

这将找到第一个JObjectJArray有一个命名属性text与值Two。如果不JObject存在,jo则为null。

2020-07-27