汇总使用Jackson将jsonMap到java对象时的所有错误

wztqucjr  于 2023-05-15  发布在  Java
关注(0)|答案(1)|浏览(128)

我正在尝试使用JacksonObjectMapper将JSON字符串Map到Java对象。如果存在Map错误,Jackson将在第一次遇到错误时抛出异常。有没有一种方法可以让ObjectMapper在收集错误的同时Map所有字段,并一起返回所有可能的错误?
Java类

public class Test {
    public int field1;
    public int field2;
    public Test() {}
}

Map器代码段

String json = "{\"field1\":field, \"field2\":anotherField}";
Test test = new ObjectMapper().readValue(json, Test.class);

上面的代码在尝试将'field'解析为int时失败,并且没有检查剩余的字段。但是,在代码中,field1和field2都无法解析。有没有一种方法可以一次获得所有潜在的错误,这样我就不必一次修复一个错误?

qqrboqgw

qqrboqgw1#

好吧,恕我直言,这个问题没有一个简单的解决方案。然而,可以找到特定的解决方案。
如果您想忽略缺少的字段,只需使用注解

@JsonIgnoreProperties(ignoreUnknown = true)

支持不可解析的数据更加复杂。请看一下这个讨论的正确答案enter link description here
但是,如果JSON语法错误,例如缺少逗号或冒号,它就不会有帮助。

相关问题