2017-02-06 1 views
1

Ich habe einen Json, der so aussieht, die ich analysiert habe mit json4s parseJson Methode:Get Feld in Immediate Child-Objekte nur json4s Mit

 { 
     "id":123, 
     "item1":[ 
      { 
      "id":"234", 
      "item2":[ 
      { 
       "id":"456" 
      } 
      ] 
      } 
      ] 
     } 

Ich möchte nur die ID item1 bekommen, aber nicht item2. Wie mache ich das mit json4s?

Wenn ich json \ "id" verwende, erhalte ich auch die ID von item2.

Antwort

0

Sie könnten jackson's\ Operator wie folgt:

import org.json4s._ 
import org.json4s.jackson.JsonMethods._ 

var json = parse("""{"id":123,"item1":[{"id":"234","item2":[{"id":"456"}]}]}""").asInstanceOf[JObject] 

json \\ "item1" \\ "id" 
//Result: JObject(List((id,JString(234)), (id,JString(456)))) 

json \ "item1" \ "id" 
//Result: JArray(List(JString(234))) 
+0

Problem mit diesem Ansatz ist, dass der Name von verschachteltem Objekt kann alles sein, nicht nur item1. –

Verwandte Themen