2017-09-11 3 views
1

Entschuldigung, wenn es eine grundlegende Frage ist. Wenn ich den folgenden Code renne testRegJs drucken:Iterieren durch JSON in Scala

val testRegJs: Seq[JsValue] = for (tr <- testReg) yield Json.toJson(tr) 

Hinweis: hier testReg ist Liste bestimmter Kriterien d.h Abfolge von Objekt und in dem obigen Code wird Seq umgewandelt [JsValue].

Ausgang:

List({ 
"registration": { 
    "id": 495, 
    "profile_id": "755" 
}, 
"test_center": [{ 
    "id": 487, 
    "registration_id": 495 
}] 
}, { 
"registration": { 
    "id": 599, 
    "profile_id": "360" 
}, 
"test_center": [{ 
    "id": 594, 
    "registration_id": 599 
}] 
}) 

I id aus der obigen Liste drucken möchten. Wie kann es gemacht werden?

+0

Bitte teilen Sie uns/Tag die JSON Bibliothek, die Sie in Scala verwenden, da sie alle verschieden sind. –

+0

play.api.libs.json._ –

Antwort

1

Ich habe die folgende Zeile die gewünschte Ausgabe zu erhalten:

val regId = testRegJs.map(x => (x \ "registration" \ "id").as[Int]) 
0

Sie können testRegJs \\ "id" verwenden, um die ID zu erhalten.

+0

@shivani können Sie bitte die obige Lösung überprüfen? – Learner

+0

funktioniert nicht so. Es besagt, dass das Symbol "\\" nicht gefunden werden kann. –

+0

[JSON rekursiven Pfad abspielen] (https: //www.playframework.com/documentation/2.6.x/ScalaJson#Recursive-path- \\), schauen Sie sich bitte das Beispiel an, das hier angegeben ist. – Learner

Verwandte Themen