2013-11-01 8 views
6

私はJSON.NETライブラリを使用しています。私はJObjectをほとんど作成せずにJArrayに追加しました。JSON.NETライブラリを使用してJArray内のノード(JObject)を見つける

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を検索するにはどうすればよいですか。

答えて

15

あなたはこのようにそれを見つけることができます。

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

これはJArrayの最初のJObjectTwoの値でtextというプロパティを持つでしょう。そのようなJObjectが存在しない場合、joはnullになります。

+0

ありがとうございました!私は同じ問題を抱えていて、これは魅力のように働いた。ポイントアップ! :) – Fabiano

関連する問題