オブジェクトをjsonとして取得するために、外部Webサービスを呼び出しています。このオブジェクトにはプロパティ「value」があり、これは文字列である場合と文字列の配列である場合があります。
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に変更したところ、問題は解決しました。しかし、私はまだこのケースを処理するためのより良い方法があるかどうか疑問に思っています。