3

我有包含两种不同类型的字段的 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
4

1 回答 1

0

理想情况下,我会更改产生奇怪 JSON 的代码:第二个值不应该只是 JSON 空吗?我猜它是由一些复杂的过程产生的,从 XML 开始(必须使用'isNul'来区分空字符串和空字符串)。

但如果那不可能,我认为 Jackson 和 Gson 都需要自定义解串器;或首先绑定到通用 Map 然后显式处理值异常。在第二种情况下,您只需将要绑定的类型声明为 Map(可能使用引用的泛型类型信息;但这应该是可选的)。

于 2011-02-18T18:25:42.503 回答