How to add/insert additional property to JSON string using Gson in Java?

The com.google.gson.JSonElement class represents an element of Json. We can use the toJsonTree() method of Gson class to serialize an object's representation as a tree of JsonElements. We can add/ insert an additional property to JSON string by using the getAsJsonObject() method of JSonElement. This method returns to get the element as JsonObject.

Syntax

<strong>public JsonObject getAsJsonObject()</strong>

Example

import com.google.gson.*;
public class AddPropertyGsonTest {
   public static void main(String[] args) {
      <strong>Gson </strong>gson = new<strong> GsonBuilder().setPrettyPrinting().create()</strong>;<strong> // pretty print JSON</strong>
      Student student = new Student("Adithya");
      String jsonStr = gson<strong>.toJson</strong>(student, <strong>Student.class)</strong>;
      System.out.println("JSON String: \n" + jsonStr);
      <strong>JsonElement </strong>jsonElement = gson.<strong>toJsonTree</strong>(student);
      jsonElement.<strong>getAsJsonObject().</strong><strong>addProperty</strong>("id", "115");
      jsonStr = gson.<strong>toJson</strong>(jsonElement);
      System.out.println("JSON String after inserting additional property: \n" + jsonStr);
   }
}
<strong>// Student class</strong>
class Student {
   private String name;
   public Student(String name) {
      this.name= name;
   }
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
}

Output

<strong>JSON String:
{
   "name": "Adithya"
}
JSON String after inserting additional property:
{
   "name": "Adithya",
   "id": "115"
}</strong>
Updated on: 2020-02-19T10:28:54+05:30

9K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements