我知道以前曾有人问过类似的问题,但它们并没有解决我的特定情况。
我正在使用 jackson 将 json 绑定(bind)到 pojo 对象。问题是 Json 结果有时会是单个值:
attributes: [
{
name: "IDs",
value: [
76715
]
},
{
name: "Updated",
value: false
},
{
name: "Merged",
value: false
},
{
name: "Source",
value: "db"
}
]
我的问题是,如何在我的属性对象中解释这一点?
我尝试了字符串,然后尝试了数组,然后尝试将它们组合起来。
private List value = new ArrayList();
public List getValue() {
return value;
}
public void setValue(List value) {
this.value = value;
}
public void setValue(String value) {
this.value.add(value);
}
到目前为止,还没有任何方法能够实现“值(value)”的所有可能性。
最佳答案
将 value
定义为 Object
的 Attribute
类将完成这项工作:
public static class Attribute {
private String name;
private Object value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}
关于java - Jackson 数组或字符串 : Can not deserialize instance of java. lang.String 超出 START_ARRAY token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43619116/