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 {...}
  • 相关阅读:
    MATLAB实现的车牌定位系统
    机器学习公开课备忘录(一)回归问题
    localStorage cookie的增删改查
    cookies,sessionStorage和localStorage的区别(浏览器缓存的区别)
    提升页面性能的方法
    get和post的区别
    ajax jsonp axios fetch
    vue项目创建
    (转)如何使用Log4net创建日志及简单扩展
    C# TSC打印二维码和条形码
  • 原文地址:https://www.cnblogs.com/cnsec/p/13407167.html
Copyright © 2011-2022 走看看