Jackson 是一個流行的 Java 工具,它提供了一系列的庫來處理 JSON 數據。其中,jackson-core 提供了處理 JSON 數據的核心功能,jackson-databind 則提供了將 JSON 數據轉換為 Java 對象(反序列化)和將 Java 對象轉換為 JSON 數據(序列化)的實現。
可以使用 jackson-databind 的 ObjectMapper 類來構造 JSON 對象。ObjectMapper 的 writeValueAsString() 方法可以將 Java 對象轉換為 JSON 字符串。下面是一個簡單的示例:
ObjectMapper objectMapper = new ObjectMapper(); Mapmap = new HashMap<>(); map.put("name","Tom"); map.put("age",25); String jsonStr = objectMapper.writeValueAsString(map); System.out.println(jsonStr);
上面的代碼將一個包含 name 和 age 屬性的 HashMap 對象轉換為 JSON 字符串并輸出。運行結果如下:
{"name":"Tom","age":25}
除了將 Java 對象轉換為 JSON 數據,ObjectMapper 還支持將 JSON 字符串轉換為 Java 對象。可以使用 readValue() 方法將 JSON 字符串轉換為指定的 Java 類型。下面是一個示例:
String jsonStr = "{\"name\":\"Tom\",\"age\":25}"; Mapmap = objectMapper.readValue(jsonStr,new TypeReference
上面的代碼將 JSON 字符串轉換為一個包含 name 和 age 屬性的 HashMap 對象,并輸出 name 和 age 屬性的值。運行結果如下:
Tom 25
除了 HashMap,ObjectMapper 也支持將 JSON 字符串轉換為其他 Java 類型,比如 Bean 類型、List 類型、數組類型等。需要注意的是,在將 JSON 數據轉換為 Java 對象時,需要保證 JSON 數據的鍵名和 Java 對象的屬性名完全匹配。