Maven dependency of Google Gson JSON Library
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
Convert JSON Array to/from List of Java Objects (Gson):
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
class Person {
private String name;
private int age;
public String getName() {return name;}
public int getAge() {return age;}
}
public class JsonParserGson {
// Constructors, getters, setters...
public static void main(String[] args) {
String jsonArrayString = "[" +
"{\"name\":\"Honey\",\"age\":30}," +
"{\"name\":\"Mike\",\"age\":25}" +
"]";
// Create Gson instance
Gson gson = new Gson();
// Define the type of the collection
Type personListType = new TypeToken<List>() {}.getType();
// Convert JSON Array to List of Java Objects
List personList = gson.fromJson(jsonArrayString, personListType);
System.out.println("JSON String to List of Person Object:");
// Access the List of Java Objects
for (Person person : personList) {
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
}
// Convert List to JSON Array
String jsonPerson = gson.toJson(personList);
// Print JSON Array
System.out.println("List of Person List to String:");
System.out.println(jsonPerson);
}
}
Output:
JSON String to List of Person Object:
Name: Honey
Age: 30
Name: Mike
Age: 25
List of Person List to String:
[{"name":"Honey","age":30},{"name":"Mike","age":25}]