如何使用 Gson 将额外的属性添加到 JSON 字符串或将其插入 JSON 字符串?


com.google.gson.JSonElement 类表示 Json 的一个元素。我们可以使用 Gson 类的 toJsonTree() 方法将某个对象的表示形式序列化为 JsonElements 的树。我们可以使用 JSonElementgetAsJsonObject() 方法添加/插入一个额外的属性到 JSON 字符串。此方法返回 JsonObject 中的元素。

语法

public JsonObject getAsJsonObject()

示例

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;
   }
}

输出

JSON String:
{
   "name": "Adithya"
}
JSON String after inserting additional property:
{
   "name": "Adithya",
   "id": "115"
}

更新于:19-2 月-2020

8 千+ 阅读量

启动您的职业

完成课程后获得认证

入门
广告
© . All rights reserved.