Gson到json字符串转换

时间:2015-10-21 13:51:34

标签: java json gson

大家好我正在为一个对象设置值,然后运行gson.tojson(myObject)

这很好用,输出如下:

{"val1":22,"val2":4,"val3":34,"val4":1046.0,"val5":"hello","val6":true}

但是我现在需要我的json字符串看起来像

{"myJson":  {"val1":22,"val2":4,"val3":34,"val4":1046.0,"val5":"hello","val6":true}}

是否有内置的方法来执行此操作,还是应该执行sting concat?

3 个答案:

答案 0 :(得分:5)

是的,您只需要获取JsonTree并向其添加内部对象

JsonElement innerObject = gson.toJsonTree(myObject);
JsonObject outerObject = new JsonObject();
outerObject.add("myJson",innerObject);

现在,outerObjectinnerObject,因此您可以从那里获取它,如果需要,可将其转换为String

String json = outerObject.toString();

答案 1 :(得分:0)

我不知道Gson是否有选项,但你可以为你的对象创建一个包装类:

class ObjectWrapper {
    Object myJsonObject;
}

在包装对象上使用gson.toJson()

答案 2 :(得分:0)

您可以创建一个包装类,其对象在其属性“myJson”中设置。

public class Wrapper {
  <Yourclass> myJson;

  public Wrapper(<Yourclass> obj){
    myJson = obj;
  }
}

然后根据Wrapper创建JSON。