java – Gson在序列化期间添加字段

我在Gson的序列化过程中找不到一个简单的方法来添加一个自定义字段,我希望有人能够帮助。

这是一个示范课程来显示我的问题:

public class A {
  String id;
  String name;
  ...
}

当我序列化A类时,我想返回一些类似的东西:

{ "id":"123", "name":"John Doe", "url_to_user":"http://www.example.com/123" }

其中url_to_user不存储在我的类A的实例中,但可以使用类A的实例中的数据生成。

有没有一个这样做的简单方法?我宁愿避免编写一个整个序列化器来添加一个字段。

使用Gson.toJsonTree获取一个JsonElement,您可以使用它来动态交互。

A a = getYourAInstanceHere();
Gson gson = new Gson();
JsonElement jsonElement = gson.toJsonTree(a);
jsonElement.getAsJsonObject().addProperty("url_to_user", url);
return gson.toJson(jsonElement);
翻译自:https://stackoverflow.com/questions/13024749/gson-add-field-during-serialization

转载注明原文:java – Gson在序列化期间添加字段