We can use the Jackson and Gson libraries to convert in Java to a List of POJOs to JSON. This topic explains step-by-step how to convert a List of POJOs to JSON in Java using these libraries.
Ways to Convert List of POJO to JSON
These are the following ways to convert list of POJO to JSON:
- Using Jackson Library
- Using Gson Library
Using Jackson
1. Add Dependency (Maven)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.0</version> <!-- Use latest version -->
</dependency>
2. Create a POJO
class User {
private String name;
private int age;
// Constructors, getters, setters
public User() {}
public User(String name, int age) {
this.name = name;
this.age = age;
}
// Getters and Setters (Required for Jackson)
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
3. Sample Code
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.List;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws Exception {
List<User> users = new ArrayList<>();
users.add(new User("John", 25));
users.add(new User("Alice", 30));
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(users);
System.out.println(json);
}
}
Output:
[{"name":"John","age":25},{"name":"Alice","age":30}]
Using Gson
1. Add Dependency (Maven)
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10</version> <!-- Use latest version -->
</dependency>
2. Create a POJO class
class User {
private String name;
private int age;
public User(String name, int age) {
this.name = name;
this.age = age;
}
}
3. Sample Code
import com.google.gson.Gson;
import java.util.List;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
List<User> users = new ArrayList<>();
users.add(new User("John", 25));
users.add(new User("Alice", 30));
Gson gson = new Gson();
String json = gson.toJson(users);
System.out.println(json);
}
}
Output:
[{"name":"John","age":25},{"name":"Alice","age":30}]
Convert List of POJOs to JSON
Library | Dependency | Method |
Jackson | jackson-databind | ObjectMapper().writeValueAsString() |
Gson | gson | Gson().toJson() |
Conclusion
In this topic, we learnt about how to convert a list of POJOs to JSON in Java using Jackson and Gson libraries in Java.