Ich habe die folgende Zeichenfolge:kann nicht das Feld in der Zeichenfolge JSON finden
val jsonString: String = """{"additionalProperties":{},"annotation":{"type":"getDetails","docId":"doi:10.1186-s13612-016-0045-3","tags":{"wellbeing":7,"mood":6,"memories":6,"tmr":3,"participants":3},"additionalProperties":{}}}"""
Ich möchte tags
extrahieren und dieses Feld in einen String zu konvertieren. Dies ist, wie ich es playframework mit:
val parsedJson = Json.parse(jsonString)
val result = (parsedJson \ "tags").as[JsString].value
System.out.println(result)
Dieser Code an der Leitung klemmt val result = (parsedJson \ "tags").as[JsString].value
und zurück keine Fehlermeldung.
Deshalb habe ich zwei Fragen:
- Was mache ich falsch? Ich würde gerne
"tags":{"wellbeing":7,"mood":6,"memories":6,"tmr":3,"participants":3}
- bekommen So vermeiden Sie solche Deadlock-Situationen? (d. h. wenn das Feld aus irgendeinem Grund nicht gefunden werden kann)?
Wie das Tag-Objekt als ein JsObject zu extrahieren? Ich bekomme JsDefined. – Klue
Beide Kommentare können aufgelöst werden mit: '(json \" annotation "\" tags "). As [JsObject]'. Der 'as [JsObject]' Teil transformiert das 'JsDefined' in das' JsObject' – irundaia