繁体   English   中英

使用Jackson将json映射到java对象时聚合所有错误

[英]Aggregate all the errors while mapping json to java object using Jackson

我正在尝试使用Jackson ObjectMapper将JSON字符串映射到Java对象。 如果存在映射错误,Jackson会在第一次遇到错误时抛出异常。 有没有办法要求ObjectMapper在收集错误时映射所有字段,并将所有可能的错误一起返回?

Java类

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

映射器代码片段

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

上面的代码在尝试将“field”解析为int时失败,并且不检查剩余的字段。 但是,在代码中,field1和field2都不能被解析。 有没有办法立即得到所有潜在的错误,所以我不必一次修复1个错误?

那么,恕我直言,这个问题没有一个简单的解决方案。 但是可以找到特定的解决方案。

如果要忽略缺少的字段,只需使用注释即可

@JsonIgnoreProperties(ignoreUnknown = true)

支持不可解决的数据更复杂。 请在此讨论中查看正确答案,请在此处输入链接说明

但是,如果你的JSON在语法上是错误的,那将无济于事,例如,如果缺少昏迷或冒号。

暂无
暂无

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

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