zoukankan      html  css  js  c++  java
  • Java 使用 Jackson库 对 JavaMap 进行序列化反序列化

    最近在用 java 处理一一些东西,发现 java 对对象进行序列化反序列化比起 python 来还是有些麻烦记录一下。

    找了好几个库最后选择了 Jackson 感觉大家对它评价还不错。

    将目标从 Java 的 map object 转换成 json 对象

    Map<String, String> testDict = new HashMap<>();
    ObjectMapper M = new ObjectMapper();
    String json = "";
    JsonNode deJson = null;
    
    testDict.put("name", "piperck");
    testDict.put("age", "18");
    testDict.put("company", "NIO");
    
    // MAP COVERT TO JSON
    try {
        json = M.writeValueAsString(testDict);
    } catch (JsonProcessingException e) {
        System.out.println(e.getLocalizedMessage());
    }
    System.out.println(json);

    这里总是需要 new 一个 ObjectMapper() 对象,后续会需要使用这个对象来处理序列化和反序列化。

    这里我们将最常见的 java 的 map 类型转换成 json 。先定义一个 testDict 做字段,往里添加一些属性,最后使用 M.writeValueAsString 将其转换为 json 类型。

    writeValue 系列方法将 java 对象序列化成 json,并将 json 存储成不通的格式

    这里我们用的

    writeValueAsString 存成 String

    同样我们可以使用 readValue 系列方法将 json 对象读取成 map 回来。

    try {
        Map<String, String> map = M.readValue(json, Map.class);
        System.out.println(map);
    } catch(IOException e) {
        System.out.println(e.getLocalizedMessage());
    }

    Reference:

    https://stackoverflow.com/questions/29340383/convert-map-to-json-using-jackson    Convert Map to JSON using Jackson

    https://www.mkyong.com/java/how-to-convert-java-map-to-from-json-jackson/    Jackson – Convert JSON string to Map

    https://stackoverflow.com/questions/1149703/how-can-i-convert-a-stack-trace-to-a-string    How can I convert a stack trace to a string?

    https://www.ibm.com/developerworks/cn/java/jackson-advanced-application/index.html    Jackson 框架的高阶应用

  • 相关阅读:
    springboot+vue实现前后端分离之前端vue部分(spring boot 2.5.4/vue.js 3.2.4)
    如何给一个vue项目重命名(vue.js 3.2.4)
    用git命令上传一个项目到gitee(git 2.30.2)
    kde plasma 5.21:为应用程序添加桌面快捷方式(kubuntu 21.04)
    @vue/cli 4.5.13:创建一个vue.js3.x项目(vue.js 3.2.4)
    linux:ubuntu21.04:npm安装@vue/cli时报错(@vue/cli 4.5.13/npm 7.21.0/node 14.17.1)
    python 装饰器模式
    staticmethod classmethod property
    presto 获取hive 表最大分区
    ALIGN(v, a)
  • 原文地址:https://www.cnblogs.com/piperck/p/11806141.html
Copyright © 2011-2022 走看看