【发布时间】:2019-09-14 15:52:26
【问题描述】:
我使用Jackson 2.9.8 将我下面的POJO 转换为JSON:
public class ResponseEntity implements Serializable {
private static final long serialVersionUID = 1L;
private int total_record_count;
private int filtered_record_count;
@JsonProperty("list")
private List<Map<String,Object>> entityList;
public ResponseEntity(List<Map<String,Object>> entityList) {
this.entityList = entityList;
this.filtered_record_count = entityList.size();
}
public int getTotal_record_count() {
return total_record_count;
}
public void setTotal_record_count(int total_record_count) {
this.total_record_count = total_record_count;
}
public int getFiltered_record_count() {
return filtered_record_count;
}
public void setFiltered_record_count(int filtered_record_count) {
this.filtered_record_count = filtered_record_count;
}
public List<Map<String, Object>> getEntityList() {
return entityList;
}
public void setEntityList(List<Map<String, Object>> entityList) {
this.entityList = entityList;
}
}
在结果JSON 中,entityList 成员的值映射到 list 键,因为它已被注释@JsonProperty("list"):
{
"list" : [ {
"id" : "IID000000002129959",
"attr1" : "MY",
"attr2" : "sd",
"attr3" : true }]
}
但我需要使用不同的名称对其进行自定义。对于某些响应,它应该是busines1、business2 等。
如何使JsonProperty 名称动态化?
【问题讨论】:
标签: java json serialization jackson jackson-databind