zoukankan      html  css  js  c++  java
  • jackson json转bean忽略没有的字段 not marked as ignorable

    @JsonIgnore注解用来忽略某些字段,可以用在Field或者Getter方法上,用在Setter方法时,和Filed效果一样。这个注解只能用在POJO存在的字段要忽略的情况,不能满足现在需要的情况。
    @JsonIgnoreProperties(ignoreUnknown = true),将这个注解写在类上之后,就会忽略类中不存在的字段,可以满足当前的需要。这个注解还可以指定要忽略的字段。使用方法如下:
    @JsonIgnoreProperties({ "internalId", "secretKey" })
    指定的字段不会被序列化和反序列化。
    ===========
    代码会返回tes对象为null

    public class tes {
    
        private String a;
        private String b;
    
        public String getA() {
            return a;
        }
    
        public void setA(String a) {
            this.a = a;
        }
    
        public String getB() {
            return b;
        }
    
        public void setB(String b) {
            this.b = b;
        }
    
        public  static  void main(String[] args) {
            String ss="{"a":"aa","c":"c"}";
            tes t=  JsonUtil.fromJson(ss,tes.class);
        // tes t=   new Gson().fromJson(ss,tes.class);
        }
    }

    解决方案:

    正确在class上加 
    @JsonIgnoreProperties(ignoreUnknown = true) 
    public class tes
    
    或者代码控制 
    ObjectMapper objectMapper = new ObjectMapper(); 
    objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); 
    objectMapper.readValue(json,cls);
    

      

  • 相关阅读:
    Linux的SSH(Secure Shell Protocol)服务
    Linux开机自动挂载文件fstab介绍
    Linux之NFS网络文件系统
    深入理解sudo
    Linux定时任务(crond)
    Linux之Vim编辑器的使用
    三大文本处理工具grep、sed及awk
    jquery实现自定义弹出框
    oarcle12c打开本地数据库
    使用POI将doc文件转换为html
  • 原文地址:https://www.cnblogs.com/tv151579/p/5969865.html
Copyright © 2011-2022 走看看