If you have a GSON String which is an object collection and you want to convert it into an ArrayLis<> using the Gson library, make use of the reflection TypeToken
ArrayList<Student> stdList = new ArrayList<>();
stdList = gson.fromJson(jsonList, new TypeToken<ArrayList<Student>>(){}.getType());
System.out.println(stdList(0).getStudentName());
System.out.println(stdList(1).getStudentName());
Example:
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.util.ArrayList;
public class JsonToGsonExample {
public static void main(String[] args) {
String jsonString = "{\n" +
" \"studentId\": 1,\n" +
" \"studentName\": \"Mike\",\n" +
" \"studentAddress\": \"Paris\",\n" +
" \"studentAge\": 19,\n" +
" \"studentMarks\": {\n" +
" \"English\": 87,\n" +
" \"Chemistry\": 72,\n" +
" \"Math\": 75,\n" +
" \"Physics\": 67\n" +
" }\n" +
"}";
String jsonStringList ="[\n" +
" {\n" +
" \"studentId\": 1,\n" +
" \"studentName\": \"Mike\",\n" +
" \"studentAddress\": \"Paris\",\n" +
" \"studentAge\": 19,\n" +
" \"studentMarks\": {\n" +
" \"English\": 87,\n" +
" \"Chemistry\": 72,\n" +
" \"Math\": 75,\n" +
" \"Physics\": 67\n" +
" }\n" +
" },\n" +
" {\n" +
" \"studentId\": 2,\n" +
" \"studentName\": \"Alex\",\n" +
" \"studentAddress\": \"London\",\n" +
" \"studentAge\": 18,\n" +
" \"studentMarks\": {\n" +
" \"English\": 71,\n" +
" \"Chemistry\": 98,\n" +
" \"Math\": 89,\n" +
" \"Physics\": 76\n" +
" }\n" +
" }\n" +
"]";
Gson gson = new Gson();
//Example with just one Json Object
Student student = gson.fromJson(jsonString,Student.class);
System.out.println(student.getStudentName());
System.out.println(student.getStudentAddress());
//Example with a Student List
ArrayList<Student> studentsList = new ArrayList<>();
studentsList = gson.fromJson(jsonStringList, new TypeToken<ArrayList<Student>>(){}.getType());
System.out.println(studentsList.get(0).getStudentName());
System.out.println(studentsList.get(1).getStudentName());
}
}
More Posts related to Java,
- Add two numbers using Java Generics
- Convert Java List to Json String using Jackson
- Convert Java Object to JSON using Jackson Library
- Java SE JDBC: Insert with PreparedStatement Example
- [Program] How to read three different values using Scanner in Java
- Java JDBC Batch Update Example with PreparedStatement
- Java Stream flatmap() Examples
- Save Java Object as JSON file using Jackson Library
- Java get day of the week as an int using DayOfWeek
- Create Nested Directories using Java Code
- Java JDBC Delete a Record in Database Table using PreparedStatement
- List of jars required for Struts2 project
- Convert Java Object to XML using Jackson Library
- Struts2 : java.lang.ClassNotFoundException: org.apache.commons.fileupload.RequestContext
- Java JDBC Get Id of the Inserted Record with AutoIncrement
- How to list all tables using Java JDBC
- Java Jackson ObjectMapper Class with Examples
- Fix: Maven - Failed to execute goal - Compilation failure - Source/Target option 5 is no longer supported. Use 7 or later
- Eclipse : The type java.lang.CharSequence cannot be resolved. Indirectly referenced from required .class files
- Formatting Double in Java [Examples]
- How to run Java Unit Test cases with Apache Maven?
- [fix] NullPointerException Cannot Invoke findById because Repository is null - Java Spring
- [Fix] java: integer number too large compilation error
- [Java] Read a File with UTF-8 Encoding
- How to detect Operating System using Java code
More Posts:
- [fix] URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs) IntelliJ - Java
- JSON Schema Validator Libraries: JSON Tutorial - Json-Tutorial
- WARNING: Python 2.7 is not recommended [macOS Big Sur] - MacOS
- Simple Login Page using Bootstrap - Bootstrap
- Read Text file from SD Card : Android Programming - Android
- Show CPU and Memory Usage on macOS Menu Bar - MacOS
- Zsh Shell: Custom alias that you may find useful - MacOS
- Installing Android Studio Dolphin on Mac with Apple (M1/M2) Chip - Android-Studio