2017-04-25 181 views
0

我知道以前也有類似的問題,但它們並未解決我的特定情況。Jackson數組或字符串:無法反序列化java.lang.String的實例超出START_ARRAY令牌

我正在使用jackson將json綁定到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); 
} 

到目前爲止沒有任何工具可以用於「價值」的所有可能性。

回答

1

Attribute類定義valueObject將做的工作:

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; 
    } 
} 
+0

此外,當你的價值,你可以使用instanceof來確定你所擁有的。 – jordaniac89

相關問題