2013-11-01 8 views
6

Sto utilizzando la libreria JSON.NET. Ho creato alcuni JObject e li ho aggiunti a un JArray.Ricerca di un nodo (JObject) all'interno di JArray utilizzando la libreria JSON.NET

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); 

Ora voglio trovare un jobject che è il testo (JProperty) è Two. Come posso trovare un JObject all'interno di un JArray usando JProperty.

risposta

15

Lo si può trovare in questo modo:

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

Questo sarà trovare il primo JObject nel JArray avere una proprietà denominata text con un valore di Two. Se non esiste tale JObject, allora jo sarà nullo.

+0

Grazie mille! Ho avuto lo stesso problema e questo ha funzionato come un fascino. Indica! :) – Fabiano

Problemi correlati