Open In App

How to Convert a Vector of Objects into a JSON Array in Java?

Last Updated : 19 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

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




// Java program tp Convert a Vector of Objects
// Into a JSON Array using Manual Serialization
package com.geeksforgeeks;
import java.util.Vector;
import org.json.JSONArray;
import org.json.JSONObject;
  
// Driver Class
public class ManualJsonSerialization 
{
      // Main Function
    public static void main(String[] args) 
    {
        // Create a vector of objects
        Vector<Person> personVector = new Vector<>();
        personVector.add(new Person("viresh", 18));
        personVector.add(new Person("suresh", 21));
  
        // Converting  vector to JSON  manually
        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);
        }
  
        // Printing of  JSON array
        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




// Java program to Convert a Vector of Objects
// Into a JSON Array using Gson Library
import com.google.gson.Gson;
import java.util.Vector;
  
public class GsonJsonSerialization {
    public static void main(String[] args) {
        // creating a vector of objects
        Vector<Person> personVector = new Vector<>();
        personVector.add(new Person("viresh", 30));
        personVector.add(new Person("suresh", 25));
  
        // converting of  vector to JSON  using Gson
        Gson gson = new Gson();
        String jsonArray = gson.toJson(personVector);
  
        // printing JSON array
        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.


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads