Jackson 是一個功能強大開源的 Java 庫,主要用于數據序列化和反序列化。它支持 JSON、XML、YAML、Properties 等多種形式的數據處理,并且性能卓越。
其中,JSON 是最常用的格式,它是一種輕量級的數據交換格式。下面是一個簡單的 JSON 數據:
{"name": "Alice", "age": 25}
在 Java 中,我們可以使用ObjectMapper
類來處理 JSON 數據。例如,我們可以將上面的 JSON 字符串轉化為 Java 對象:
ObjectMapper objectMapper = new ObjectMapper(); String jsonString = "{\"name\": \"Alice\", \"age\": 25}"; try { Person person = objectMapper.readValue(jsonString, Person.class); System.out.println(person.getName()); // 輸出 "Alice" } catch (JsonMappingException e) { e.printStackTrace(); } catch (JsonProcessingException e) { e.printStackTrace(); }
這里需要注意,Person
類需要有無參的構造函數,并且需要符合 JavaBean 規范。
反過來,我們也可以將一個 Java 對象序列化為 JSON 字符串:
ObjectMapper objectMapper = new ObjectMapper(); Person person = new Person("Alice", 25); try { String jsonString = objectMapper.writeValueAsString(person); System.out.println(jsonString); // 輸出 "{"name":"Alice","age":25}" } catch (JsonProcessingException e) { e.printStackTrace(); }
通過這種方式,我們可以在 Java 應用程序中方便地處理 JSON 數據。同時,Jackson 還提供了許多高級特性,如定制化數據格式、支持 JSONP、支持多態類型等等。