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 框架的高階應用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM