Я использую Gson для (де) сериализации между строкой Json и Java Object , это удобно, но, когда строка содержит недопустимое значение,gson возвращает только исключение и указывает тип исключения.
Например, у меня есть какой-то класс, например:
public class Employee {
public String name;
public Integer age;
}
Если я попытаюсь десериализовать так:
try {
String data = "{\"name\":\"Alan\",\"age\":\"twenty-eight\"}";
Employee employee = gson.fromJson(data, Employee.class);
} catch (Exception e) {
logger.warn(e);
}
Он выводит
java.lang.NumberFormatException: For input string: "a"
Есть ли способ узнать недопустимое поле (в данном случае " age ")?Я сослался на вопрос , но в данном случае он не подходит.