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