大家好我正在为一个对象设置值,然后运行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?
答案 0 :(得分:5)
是的,您只需要获取JsonTree
并向其添加内部对象
JsonElement innerObject = gson.toJsonTree(myObject);
JsonObject outerObject = new JsonObject();
outerObject.add("myJson",innerObject);
现在,outerObject
已innerObject
,因此您可以从那里获取它,如果需要,可将其转换为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。