【发布时间】:2016-10-17 19:14:16
【问题描述】:
我有以下 JSON
{
"known-name": "Zevs",
"approximate-age": 320
}
和绑定类
public class GodBinding {
@JsonProperty("known-name")
public String name;
@JsonProperty("approximate-age")
public int age;
// constructors
// getters & setters
}
并遵循 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>
如果我发布这样的 json,那么我会得到 null 的意外结果。
GodBinding [name=null, age=0]
如果我使用不带名称的 @JsonProperty 并发送属性名称等于字段名称的 JSON
{
"name": "Zevs",
"age": 320
}
然后它工作正常
GodBinding [name=Zevs, age=320]
如果有人知道,如何使字段上的 @JsonProperty("name") 正常工作?
【问题讨论】:
-
@JsonProperty("anyname") 注释忽略任何给定名称并尝试仅按字段名称绑定数据。
-
所提供的解决方案都没有帮助我。使用杰克逊版本 2.9.4。注释不起作用的其他原因可能是什么?
标签: java json annotations jackson