我正在调用外部 Web 服务来获取对象作为 json。这个对象有一个属性“值”,它有时是一个字符串,有时是一个字符串数组。
public class MyClass {
// ... other variables
private String value;
public String getValue() {
return value;
}
@JsonProperty("value")
public void setValue(String value) {
this.value = value;
}
}
目前,我收到一个org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.lang.String out of START_ARRAY token
抱怨该字段的错误。我想知道是否有人可以提示value
我在课堂上定义的正确方法是什么。
这是我必须处理的示例 json 的一部分:
{
"id": 12016907001,
"type": "Create",
"value": "normal",
"field_name": "priority"
},
{
"id": 12016907011,
"type": "Create",
"value": [
"sample",
"another"
],
"field_name": "tags"
}
谢谢。
- 编辑
我将值的类型更改为 Object ,它解决了我的问题。但是,我仍然想知道是否有更好的方法来处理这种情况。