用 class 名称包装由 Gson 创建的 json

wrapping the json created by Gson with class name

在我们的项目中,模型是生成的,

我要做的就是改变

{
"name": "someName",
"model" :" modelID"
}

{
"car":
  {
   "name": "someName",
   "model" :" modelID"
  }
}

来自我的 class

public class Car {
   private String name;
   private String model;
... getter and setters ...
}

是否有某种配置或...可以做到这一点?我知道杰克逊可以,但我们使用的是 Gson 谢谢

找到了 2 种方法

  1. 使用 GsonFireBuilder
Gson gson = new GsonFireBuilder().wrap(Car.class,"Car").createGson();
Gson gson = new Gson();
JsonElement je = gson.toJsonTree(new Car());
JsonObject jo = new JsonObject();
jo.add("Car", je);