die folgende JSON Bedenken Sie:Play-Framework-JsReads für Objektnamen und Werte
{
"1992": "this is dog",
"1883": "test string",
"1732": "unknown",
"2954": "future year"
}
Gibt es eine Möglichkeit, mit JSON reads
dieses JSON in eine Scala Fallklasse zu verwandeln? d.h. ein Seq[Years]
oder ein Map[String, String]
, wo ein Jahr das Jahr und die Beschreibung hält.
als Referenz, das ist, wie Sie eine read
für eine "einfache" JSON-Struktur definieren:
{
"name": "george",
"age": 24
}
Die implizite JsReads
implicit val dudeReads = (
(__ \ "name").read[String] and
(__ \ "age").read[Int]
) (Dude)
Sie können die Validierung und nachfolgende Übereinstimmung überspringen, indem Sie einfach 'val result = json.as [Map [String, String]]' schreiben. – Eric
@Eric Die as-Methode löst eine 'JsResultException' aus, wenn der Pfad nicht gefunden wird oder die Konvertierung nicht möglich ist. [Quelle] (https://www.playframework.com/documentation/2.5.x/ScalaJson#Using-JsValue.as/asOpt) – Pranav