繁体   English   中英

如何使用ObjectMapper从空JSON文件反序列化为Java Object

[英]How to deserialize from empty JSON file to Java Object using ObjectMapper

我有一个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?

try{
    Student student =objectMapper.readValue(new File("a.json"), Student.class);
} catch(EOFException e) {
    Student student = new Student(null, null);
}

实现您想要的?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM