Jackson是一個開源的Java庫,可用于將Java對象序列化為JSON字符串和將JSON字符串反序列化為Java對象。
在使用Jackson進(jìn)行JSON序列化和反序列化之前,需要創(chuàng)建一個ObjectMapper對象。該對象提供了各種可配置選項,例如是否忽略空值、是否包含類型信息等。
ObjectMapper objectMapper = new ObjectMapper(); objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); objectMapper.enableDefaultTyping();
創(chuàng)建ObjectMapper對象后,可以使用其writeValueAsString()方法將Java對象序列化為JSON字符串。
Person person = new Person("John", 30); String json = objectMapper.writeValueAsString(person); System.out.println(json);
反過來,可以使用readValue()方法將JSON字符串反序列化為Java對象。
String json = "{\"name\":\"John\",\"age\":30}"; Person person = objectMapper.readValue(json, Person.class); System.out.println(person.getName());
Jackson還提供了一些其他的功能,例如JSON節(jié)點的解析和生成、JSONSchema的驗證、Dynamic JSON和YAML的支持等。在使用時,需要依賴相應(yīng)的Jackson模塊。