Spring restTemplate . postforobject()映射不能访问元素



我试图使用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

最新更新