我有一个json文件(a.json),其内容如下:-
{
"name" : "ABC",
"id": "1234"
}
我尝试使用以下代码反序列化到Student类:-
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.readValue(new File("a.json"), Student.class)
其中学生班为:-
class Student {
private String name;
private String id;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
此代码可以正常工作。但是问题是假设当我尝试反序列化以下代码时a.json文件为空,代码引发EOFException,消息为“由于输入结束,没有内容可以映射到对象”
Student student =objectMapper.readValue(new File("a.json"), Student.class)
如何处理?有没有一种方法可以配置对象映射器,以便它不会引发异常并只返回null?
答案 0 :(得分:1)
会
try{
Student student =objectMapper.readValue(new File("a.json"), Student.class);
} catch(EOFException e) {
Student student = new Student(null, null);
}
实现您想要的吗?