2016-03-23 14 views
0

yılında JsonNode kullanarak hiçbir ebeveyn ile JSON kardeş bulun. Ebeveyn olmadığında kardeşe nasıl gidersiniz?şöyle bir JSON nesnesi var java

Response responseObject = client.getAllObjects(); 
JsonNode responseAsNode = responseObject.readEntity(JsonNode.class); 

Ben adıyla ararsanız: responseAsNode.findValue("name");, o zaman doğru beni her isim öğesi içeren bir List<JsonNode> verir, bu yüzden maçları biri için bu arama yapabilirsiniz Ben Jersey Müşteri yanıtından JSON alıyorum Beklediğim, ancak sadece "name":"value", JsonNodes bir listesini verir. Ben node.getParent() ararsam hiçbir ebeveyn olmadığı için

for (JsonNode node : responseAsNode.findValues("name")){ 
    if (node.textValue().equals("ftp-" + DEFAULT_ENV.toLowerCase())) { 
     //Now, find my id and do something with it. 

     break; 
    } 
} 

, bir istisna olsun. Geliştiricilerin Json'un önüne "list": eklemesini istemekten başka ne denemeliyim?

+1

Dizideki konumunuzu, for döngüsünüzde i kullanarak belirleyin. Daha sonra bu ID'yi responseAsNode.get (i) .get ("id") ile alabileceksiniz. –

+0

Bu kadar basit, eksik olduğu için kendimi aptal hissediyorum. –

cevap

2

JSON ağacında gezinin ve her bir öğeyi eşleştirmeye çalışın.

Bu, 2 yazdıracaktır.

+0

Harika! Bu da işe yarayacaktı. Dostum, yeterince uzun bir şeye bakıyorum ve burnumun ötesini göremiyorum. Teşekkürler, @starf. –

+0

@RyanCox Kendiniz için çok zor olmayın, hepimiz oradayız. – starf