Как десериализовать из пустого файла JSON в объект Java с помощью ObjectMapper - PullRequest
0 голосов
/ 15 сентября 2018

У меня есть файл json (a.json) с содержимым, как показано ниже: -

{
"name" : "ABC",
"id": "1234"
}

Я пытаюсь десериализовать класс ученика, используя следующий код: -

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;
    }
}

Этот код работает нормально.Но проблема в том, что файл .json пуст, когда я пытаюсь десериализовать приведенный ниже код и вызывает EOFException с сообщением «Нет содержимого для сопоставления с объектом из-за конца ввода»

Student student =objectMapper.readValue(new File("a.json"), Student.class)

Как это сделать?Есть ли способ, которым я могу настроить объект сопоставления так, чтобы он не вызывал исключение и просто возвращал ноль?

1 Ответ

0 голосов
/ 15 сентября 2018

Будет ли

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

Достигнуть того, что вы хотели?

...