我试图使用restTemplate。postForObject(URL, Session.class)方法并将响应映射到POJO。但是,当我试图访问一个名称为"name-with-dash "我找不到元素。
从方法调用中提取的JSON:
{"age":60,"expire":12345,"name-with-dashes":"This name has dashes?!"...}
下面是我用来提取这些数据的POJO:
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class Session {
private int age;
private long expire;
//will not grab name-with-dashes... returns null
private String nameWithDashes;
}
您应该用@JsonProperty注释您的字段,特别是那些不符合bean命名约定的字段,如下所示:
@JsonProperty("name-with-dashes")
private String nameWithDashes;
可以对属性进行注释
@SerializedName("name-with-dashes")
private String nameWithDashes;
使用Gson