【发布时间】:2021-05-06 23:21:46
【问题描述】:
问题:有时访问请求目标是单个目标,有时是数组
问题:如何根据找到的内容让 Jackson 反序列化为单个目标或数组?
单一目标 JSON
"access_request": {
"targets": {
"target": {
"@type": "ANY",
"id": 1189118
}
}
}
目标 JSON 数组
"access_request": {
"targets": {
"target": [
{
"@type": "Object",
"id": 1189167,
"object_name": "OUTSIDE",
"object_type": "acl",
"object_details": "2.2.2.2",
"management_id": 29,
"management_name": "ace2"
},
{
"@type": "Object",
"id": 1189168,
"object_name": "ONRAMP",
"object_type": "acl",
"object_details": "1.1.1.1",
"management_id": 29,
"management_name": "ace1"
}
]
}
}
“目标”POJO:
@JsonPropertyOrder({
"target"
}) @Generated("jsonschema2pojo") 公共类目标实现可序列化 {
@JsonProperty("target")
private Target target = new Target();//How can I make Jackson deserialize to either a Single Target or an Array<Target> depending on what is found?
@JsonIgnore
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
.
.//Getters, Setters
.
}
【问题讨论】:
标签: java json jackson-databind