[转]Java 使用 Jackson库 对 JavaMap 进行序列化反序列化

原文地址:Java 使用 Jackson库 对 JavaMap 进行序列化反序列化 - piperck - 博客园

将目标从 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 框架的高阶应用

posted @ 2024-01-18 15:04  dirgo  阅读(134)  评论(0编辑  收藏  举报