私のJSON文字列は、マップ値は、提出されている間、私は問題に直面しています
ジャクソンマッパーを使用して
{
"FieldInfo":{
"Field1":{
"FieldName":"test1",
"Values":""
},
"Field2":{
"FieldName":"test2",
"Values":{
"test":"5",
"test1":"2"
}
}
}
}
です。私のjson文字列では、値は空文字列かマップのいずれかになります。私は後述の変数に値フィールドをマッピングしています。 map.itが例外を与えると
@JsonProperty("Values")
private Map<String, String> values;
だから私の問題は、私はすでに@JsonInclude(Include.NON_NULL)
を使用している
com.fasterxml.jackson.databind.JsonMappingException: Can not instantiate
value of type [map type; class java.util.LinkedHashMap, [simple type, class
java.lang.String] -> [simple type, class java.lang.String]] from String
value; no single-String constructor/factory method (through reference
chain: com.test.model.ExtraInformation["FieldInfo"]->com.test.model.FieldInfo["Values"])
、空の文字列をマッピングしています。しかしそれは働かない。
あなたは、文字列からすなわちの代わりに、 '「値」マップを初期化することはできません...
希望が...それはするのに役立ちます...怒鳴るよう..それをチェックします: ""それは "値":{} 'でなければなりません。 – Thomas
私はjson形式を変更することはできませんので、サードパーティのAPIからjsonを取得しています。 –