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

Sha*_*der 8 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);
Run Code Online (Sandbox Code Playgroud)

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

Bri*_*ers 24

你可以这样找到它:

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

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