zoukankan      html  css  js  c++  java
  • fasterxml Jackson 各种使用场景以及序列化、反序列化的时候忽略不必要的Properties

    1. 将json字符串转成Map:

    public static Map jsonToMap(String json) {
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            return objectMapper.readValue(json, Map.class);
        } catch (IOException e) {
            LogUtil.outPutLog(Constant.LOG_ERROR, JsonUtils.class.getSimpleName(), e);
        }
        return null;
    }
    
    2. 将json字符串转换成java对象:
    public static <T> T jsonToObject(String json, Class<T> clazz) {
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            return (T) objectMapper.readValue(json, clazz);
        } catch (Exception e) {
            LogUtil.outPutLog(Constant.LOG_ERROR, JsonUtils.class.getSimpleName(), e);
        }
        return null;
    }

    3. 将Java对象转换成Josn:

    public static String objectToJsonString(Object obj) {
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            return objectMapper.writeValueAsString(obj);
        } catch (Exception e) {
            LogUtil.outPutLog(Constant.LOG_ERROR, JsonUtils.class.getSimpleName(), e);
        }
        return null;
    }

    4. 序列化、反序列化时忽略不必要的属性:

    序列化时可以在成员变量上面加入@JsonIgnore注解:

        @JsonInclude(content = Include.NON_NULL, value = Include.NON_NULL)
        private String test;

        @JsonInclude(content = Include.NON_EMPTY, value = Include.NON_EMPTY)
        private List<Available> vehicle = new ArrayList<Available>();

    反序列化时可以直接在类上面加入@JsonIgnoreProperties,忽略所有未知属性,也可以单个去忽略

    @JsonIgnoreProperties(ignoreUnknown = true)
    public class TestObject {...}
  • 相关阅读:
    jQuery获取鼠标事件源
    windows中MongoDB安装和环境搭建
    前端获取后台数据的方法:ajax、axios、fetch
    浅谈:easy-mock的使用
    安全篇-AES/RSA加密机制
    PHP开发api接口安全验证
    Ajax简单实现文件异步上传的多种方法
    PHP7有没有你们说的那么牛逼
    基于laravel框架构建最小内容管理系统
    redis用法分析
  • 原文地址:https://www.cnblogs.com/cnsec/p/13407167.html
Copyright © 2011-2022 走看看