我的json包含两种不同类型的字段。
"fields":[{"value":"ZIELONE OKO"},{"value":{"@nil":"true"}}]
我反序列化这些问题。我的模型类包含:
private String value;
我只需将{“@ nil”:“true”}翻译成null。现在我收到错误:
The JsonDeserializer StringTypeAdapter failed to deserialized json object {"@nil":"true"} given the type class java.lang.String
答案 0 :(得分:0)
理想情况下,我会更改产生奇怪JSON的代码:不应该是第二个值只是JSON null吗?我猜它是由一些复杂的过程产生的,从XML开始(必须使用'isNul'来区分null String和空String)。
但如果不可能,我认为Jackson和Gson都需要自定义解串器;或者首先绑定到通用Map,然后显式处理值奇怪。在第二种情况下,您只需声明要绑定到Map的类型(可以使用引用通用类型信息;但这应该是可选的)。