Ich möchte json als Fallklasse innerhalb der Play-Anwendung extrahieren. Die Attribute in der Fallklasse sind in camelCase definiert und json-Daten werden in snake_case geliefert.
%Vor%und Json wäre so {"user_name": "Vishal", "user_id": 67}
Gibt es eine einfache Möglichkeit, play json anzuweisen, automatisch das Mapping und das Extrahieren durchzuführen, wie das Bereitstellen von Anmerkungen usw.
Das wird wahrscheinlich nicht sofort funktionieren, also sollten Sie vielleicht andere Lösungen in Betracht ziehen, wie zum Beispiel die Suche nach zusätzlichen Bibliotheken, die das handhaben.
Play verwendet Jackson. In Java können Sie die Jackson-Annotation org.codehaus.jackson.annotate.JsonProperty
in Ihren Eigenschaften verwenden, um die Namen manuell festzulegen. Das Argument für den Parameter value
wird als Name des Schlüssels verwendet.
Ich weiß nicht, ob das auch im Spiel mit Scala funktioniert. Basierend auf den Kommentaren in diesem Thread über Scala und Jackson Die Syntax für die Deserialisierung sollte in etwa so aussehen:
%Vor%Sie finden ein weiteres Beispiel für Jackson-Annotationen in einer Fallklasse in diese Frage .
Wenn Sie JSON Inception von Play 2 verwenden, dann Nein. Wenn dies nicht der Fall ist, können Sie einfach die @ JsonProperty-Annotationen verwenden.
Ich habe versucht, dies mit JSON Inception für ein paar Tage mit verschiedenen Formen und Konfigurationen von jerkson / jackson Annotationen mit so viel Glück zu arbeiten!
Das ist eine ziemlich alte Frage, aber ich habe keine Antwort darauf gefunden, also bin ich zum Play JSON Github Repository gegangen und habe folgendes gefunden:
%Vor%Es scheint also, dass es einen offiziellen Weg gibt, dies zu tun
Tags und Links playframework playframework-2.0