Tenho seguindo JSON
{
"known-name": "Zevs",
"approximate-age": 320
}
E classe de ligação
public class GodBinding {
@JsonProperty("known-name")
public String name;
@JsonProperty("approximate-age")
public int age;
// constructors
// getters & setters
}
E dependências do maven 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 eu postar esse json, então eu tenho um resultado inesperado com null "s.
GodBinding [name=null, age=0]
Se eu usar @JsonProperty sem nomes e enviar JSON onde os nomes das propriedades são iguais aos nomes dos campos
{
"name": "Zevs",
"age": 320
}
então está funcionando bem
GodBinding [name=Zevs, age=320]
Se alguém souber como fazer @JsonProperty ("name") em campos funcionando corretamente?
Respostas:
-1 para resposta № 1você deve adicionar isso ao seu POM
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.4.4</version>
</dependency>
você pode ver um exemplo Aqui