Jackson überwindet die Unterstreichung zugunsten von Camel Case
Bekomme ich einen JSON-string aus dem internet; wie die meisten JSON-ich habe es gesehen, mit langen Tasten, getrennt durch Unterstriche. Im wesentlichen ist es mein Ziel zu Deserialisieren von JSON in java-Objekte, aber ich glaube nicht, verwenden Sie Unterstriche in java-code.
Zum Beispiel, könnte ich ein User
Klasse mit firstName
Feld in camel-case, gleichzeitig muss ich irgendwie sagen, Jackson Karte first_name
Schlüssel von JSON zu firstName
- Klasse-Feld. Ist es möglich?
class User{
protected String firstName;
protected String getFirstName(){return firstName;}
}
InformationsquelleAutor der Frage user1384991 | 2012-05-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie die
@JsonProperty
auf das Feld, das Sie ändern möchten, die Standard-Namen-Zuordnung.Weitere Infos: die API
InformationsquelleAutor der Antwort Alex
Konfigurieren Sie die ObjectMapper zu konvertieren camel-case zu Namen mit einem Unterstrich
InformationsquelleAutor der Antwort thehpi
Wenn Ihr eine spring-boot-Anwendung, In Anwendung.properties-Datei, nutzen Sie einfach
Oder Kommentieren Sie die model-Klasse, die mit dieser annotation.
InformationsquelleAutor der Antwort adam.smithsonian01
Den oben genannten Antworten in Bezug auf
@JsonProperty
undCAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES
sind 100% richtig, auch wenn manche Leute (wie ich) könnte versuchen, dies zu tun innerhalb einer Spring-MVC-Anwendung mit code-basierte Konfiguration. Hier der Beispielcode (die ich haben im innerenBeans.java
), um den gewünschten Effekt erzielen:InformationsquelleAutor der Antwort DuffJ
Wenn Sie wollen, dass diese für eine Einzelne Klasse, die Sie verwenden können, die PropertyNamingStrategy mit der @JsonNamingso etwas wie dieses:
Serialisieren:
InformationsquelleAutor der Antwort Arturo Volpe
Den neueren Versionen von Frühlings -, Drop diese Datei in Ihr Projekt (oder einfach nur die Bohnen). Ich habe festgestellt, dass dies für beide die Antwort mapping, sowie Antrag body-mapping.
InformationsquelleAutor der Antwort Kenny Cason
Gibt es einige Antworten hier angibt, beide Strategien für 2 verschiedene Versionen von Jackson-Bibliothek unter:
Für Jackson 2.6.*
Für Jackson 2.7.*
InformationsquelleAutor der Antwort Amit Kaneria