JSON Libraries in Java
Java does not include a built-in JSON library, but two are dominant in production: Jackson (used by Spring Boot) and Gson (used in Android development).
Jackson (Most Common)
- Dependency:
com.fasterxml.jackson.core:jackson-databind - Parsing:
objectMapper.readValue(jsonString, MyClass.class) - Serialization:
objectMapper.writeValueAsString(obj) - Pretty print:
objectMapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj)
Gson (Google)
- Dependency:
com.google.code.gson:gson - Parsing:
new Gson().fromJson(json, MyClass.class) - Serialization:
new Gson().toJson(obj)
// Jackson — Parse JSON to POJO
ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(jsonString, User.class);
// Jackson — Serialize to JSON string
String json = mapper.writeValueAsString(user);
// Jackson — Pretty print
String pretty = mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(user);
// Jackson — Read from File
User fromFile = mapper.readValue(new File("user.json"), User.class);
// Gson — Parse and serialize
Gson gson = new Gson();
User parsed = gson.fromJson(jsonString, User.class);
String serialized = gson.toJson(parsed);