【发布时间】:2016-03-18 10:37:35
【问题描述】:
这是我扩展 HashMap 的类,因为响应 JSON 中有很多动态字段,但教育和就业是固定的,我希望这些应该与 PeopleEducation 和 PeopleEmployment 类映射
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Generated;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({ "_education", "_employment" })
public class People extends HashMap<String, Object> implements Map<String, Object> {
/**
*
*/
private static final long serialVersionUID = 1L;
@JsonProperty("_education")
private List<PeopleEducation> Education = new ArrayList<PeopleEducation>();
@JsonProperty("_employment")
private List<PeopleEmployment> Employment = new ArrayList<PeopleEmployment>();
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
/**
*
* @return The Education
*/
@JsonProperty("_education")
public List<PeopleEducation> getEducation() {
return Education;
}
/**
*
* @param Education
* The _education
*/
@JsonProperty("_education")
public void setEducation(List<PeopleEducation> Education) {
this.Education = Education;
}
/**
*
* @return The Employment
*/
@JsonProperty("_employment")
public List<PeopleEmployment> getEmployment() {
return Employment;
}
/**
*
* @param Employment
* The _employment
*/
@JsonProperty("_employment")
public void setEmployment(List<PeopleEmployment> Employment) {
this.Employment = Employment;
}
@JsonAnyGetter
public Map<String, Object> getAdditionalProperties() {
return this.additionalProperties;
}
@JsonAnySetter
public void setAdditionalProperty(String name, Object value) {
this.additionalProperties.put(name, value);
}
}
那么是否可以使用 Spring Rest 模板将这些字段映射到特定的类
ResponseEntity<People> response = restClient.getResource(url, headerMap,People.class);
【问题讨论】:
标签: java json spring jackson resttemplate