How to Convert a Vector of Objects into a JSON Array in Java?
Last Updated :
19 Feb, 2024
In Java, the conversion of data structures like Vector to JSON (JavaScript Object Notation) format is required especially while working with the APIs or data interchange between different systems. The conversion of the Vector of an Object to the JSON Array has various approaches that we will learn in this article.
Approaches for Converting Vector of Objects to JSON Array
There are two possible approaches for converting the vector of Objects to a JSON Array.
- Manual Serialization
- Using Gson Library
Program to Convert a Vector of Objects into a JSON Array in Java
Below is the implementation of the two approaches.
Approach 1: Manual Serialization
In this approach, the vector elements iterate over and manually create the JSON array by using String concatenation using StringBuilder.
Here is the example program for Manual Serialization:
Java
package com.geeksforgeeks;
import java.util.Vector;
import org.json.JSONArray;
import org.json.JSONObject;
public class ManualJsonSerialization
{
public static void main(String[] args)
{
Vector<Person> personVector = new Vector<>();
personVector.add( new Person( "viresh" , 18 ));
personVector.add( new Person( "suresh" , 21 ));
JSONArray jsonArray = new JSONArray();
for (Person person : personVector) {
JSONObject jsonObject = new JSONObject();
jsonObject.put( "name" , person.getName());
jsonObject.put( "age" , person.getAge());
jsonArray.put(jsonObject);
}
System.out.println(jsonArray.toString());
}
}
|
Below is the POJO class implementation:
Java
package com.geeksforgeeks;
class Person {
private String name;
private int age;
public Person(String name, int age) {
this .name = name;
this .age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
|
Output:
[{"name":"viresh","age":18},{"name":"suresh","age":21}]
Explanation of the above program:
In the above program,
- We have created the Vector and added some data to the person object named personVector.
- After iterates over each person object in the vector, for every iteration the JSON object is created and adds the Key-Value pairs of name and age using put() method.
- Then prints the JSON array.
Approach 2: Using Gson Library
Gson is a third-party library which handles the serialization of Java objects to JSON format. The Gson Library provides the flexibility for converting the high functionality API’s for converting objects to JSON with less effort.
Here is the example program of this approach:
Java
import com.google.gson.Gson;
import java.util.Vector;
public class GsonJsonSerialization {
public static void main(String[] args) {
Vector<Person> personVector = new Vector<>();
personVector.add( new Person( "viresh" , 30 ));
personVector.add( new Person( "suresh" , 25 ));
Gson gson = new Gson();
String jsonArray = gson.toJson(personVector);
System.out.println(jsonArray);
}
}
|
Output:
[{"name":"viresh","age":30},{"name":"suresh","age":25}]
Explanation of the above program:
In the above program,
- We have created the vector with person object named personVector and added some values to the object.
- We have used Gson object by which we can automatically handles the serialization process, converts each object in the vector to the JSON format and printing the result.
Share your thoughts in the comments
Please Login to comment...