• 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 {...}
  • 相关阅读:
    C connect实现Timeout效果(Linux)
    QSS网址
    C实现读写文件
    crond守护进程实现定时监控某进程占有内存的大小
    Ubuntu17安装Chrome有效
    Ubuntu16安装wine(转)
    直方图均衡化
    函数后面的const修饰符的作用
    C 线程学习记录
    Override Fuction 调用——到底使用的是谁的函数
  • 原文地址:https://www.cnblogs.com/cnsec/p/13407167.html
Copyright © 2020-2023  润新知