【发布时间】:2011-10-03 10:52:45
【问题描述】:
我使用 Jackson 来处理 json。
现在,我遇到了一个问题。
我的 POJO:
class Person{
public String name;
public int age;
}
JSON 是
{"name":"Jackson","age":""}.
如果我这样写代码:
Person person = mapper.readValue("{\"name\":\"Jackson\",\"age\":\"\"}", Person.class);
抛出异常:
无法从字符串值“”构造 int 的实例:不是有效的 int 值。
如果 JSON 是"{\"name\":\"Jackson\",\"age\":null}",就可以了。
但是现在,我不想修改 JSON。我该怎么办?
【问题讨论】:
-
那些双引号是无效的,但无论如何都会导致不同的错误和无法编译的代码。为避免红鲱鱼,请将问题中的引号改为直引号。
-
你想处理任何可能的输入字符串,不是数字,还是只是一个空字符串?