首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Jackson 將 JSON 轉換為巢狀 Map 完整範例

     編輯:程式設計疑難解答

使用 Jackson 庫將 JSON 字串反序列化為 Java Map 是常見需求。特別是當 JSON 結構包含巢狀物件時,正確的型別宣告能避免型別轉換錯誤。

核心程式碼

ObjectMapper mapper = new ObjectMapper();
String json = "{\"new_terminal\":{\"term\":2,\"rows\":40,\"cols\":185,\"em_dimensions\":{\"w\":7,\"h\":14.96875}}}";

Map<String, Object> map = mapper.readValue(json, new TypeReference<Map<String, Object>>() {});
System.out.println(map);
// 輸出: {new_terminal={term=2, rows=40, cols=185, em_dimensions={w=7, h=14.96875}}}

關鍵點

  • 使用 TypeReference 保留泛型資訊,確保巢狀 Map 正確反序列化。
  • 若僅用 HashMap.class,內層物件會變成 LinkedHashMap,雖然可用但型別不精確。
  • 捕獲 JsonParseException、JsonMappingException、IOException 做錯誤處理。

此範例展示了從 JSON 到巢狀 Map 的標準做法,可直接套用於專案中。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved