Ho seguito JSON
{
"known-name": "Zevs",
"approximate-age": 320
}
E classe vincolante
public class GodBinding {
@JsonProperty("known-name")
public String name;
@JsonProperty("approximate-age")
public int age;
// constructors
// getters & setters
}
E followng maven dependencies 2.23.2 2.5.4
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>${jersey.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>${jackson.version}</version>
</dependency>
</dependencies>
Se pubblico un tale json, ho un risultato inaspettato con null.
GodBinding [name=null, age=0]
Se uso @JsonProperty senza nomi e inviamo JSON dove nomi di proprietà corrispondono a nomi di campi
{
"name": "Zevs",
"age": 320
}
allora sta funzionando bene
GodBinding [name=Zevs, age=320]
Se qualcuno lo sa, come rendere @JsonProperty ("nome") sui campi che funzionano correttamente?
risposte:
-1 per risposta № 1dovresti aggiungere questo al tuo POM
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.4</version>
</dependency>
puoi vedere un esempio Qui