gpt4 book ai didi

UnrecognizedPropertyException:Unrecognizedfield解决

转载 作者:我是一只小鸟 更新时间:2023-06-30 22:31:12 24 4
gpt4 key购买 nike

转载请注明出处:

  在项目得不同环境上对接外部的服务接口,且存在不同版本间可能有字段不同得问题,遇到这种问题在使用jackson解析时,如果格式化得字符串与定义得java类不能完全对应时,就会报错:Unrecognized field ,代码还原:

                          
                            import
                          
                          
                             com.fasterxml.jackson.annotation.JsonProperty;

                          
                          
                            import
                          
                          
                             com.fasterxml.jackson.databind.ObjectMapper;


                          
                          
                            public
                          
                          
                            class
                          
                          
                             CounterEntity {
    
                          
                          
                            private
                          
                          
                            long
                          
                          
                             inoctets;

    @JsonProperty(
                          
                          "avg-bit-rate"
                          
                            )
    
                          
                          
                            private
                          
                          
                            long
                          
                          
                             avgBitRate;

    @JsonProperty(
                          
                          "avg-octet-rate"
                          
                            )
    
                          
                          
                            private
                          
                          
                            long
                          
                          
                             avgOctetRate;

    
                          
                          
                            public
                          
                          
                            static
                          
                          
                            void
                          
                          
                             main(String[] args) {
        ObjectMapper objectMapper 
                          
                          = 
                          
                            new
                          
                          
                             ObjectMapper();
        
                          
                          
                            try
                          
                          
                             {
            String jsonStr 
                          
                          = "{\"pkts\":0,\"octets\":0,\"inpkts\":0,\"inoctets\":0,\"avg-bit-rate\":0,\"avg-octet-rate\":0,\"avg-packet-rate\":0,\"rt-bit-rate\":0,\"rt-octet-rate\":0,\"rt-packet-rate\":0}"
                          
                            ;
            CounterEntity entity 
                          
                          = objectMapper.readValue(jsonStr, CounterEntity.
                          
                            class
                          
                          
                            );
            System.out.println(entity);
        } 
                          
                          
                            catch
                          
                          
                             (Exception e) {
            e.printStackTrace();
        }
    }
}
                          
                        

  运行main方法,报错如下:

    。

  解决方案,在转换得类上使用 这个注解 @JsonIgnoreProperties(ignoreUnknown = true) ,该注解会在解析的时候,会自动忽略一些不存在得属性。通过以下方式就可以正常得序列化和反序列化.

  。

@JsonIgnoreProperties 是一个Jackson库提供的注解,用于标记在序列化和反序列化过程中需要忽略的属性。它可以应用于类级别和属性级别。 在类级别上使用 @JsonIgnoreProperties 注解,可以指定要忽略的属性列表。例如:

                          @JsonIgnoreProperties({"field1", "field2"
                          
                            })

                          
                          
                            public
                          
                          
                            class
                          
                          
                             MyClass {
    
                          
                          
                            private
                          
                          
                             String field1;
    
                          
                          
                            private
                          
                          
                             String field2;
    
                          
                          
                            private
                          
                          
                             String field3;

    @JsonIgnoreProperties
    
                          
                          
                            private
                          
                          
                             String field4;
}
                          
                        

  。

最后此篇关于UnrecognizedPropertyException:Unrecognizedfield解决的文章就讲到这里了,如果你想了解更多关于UnrecognizedPropertyException:Unrecognizedfield解决的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com