[英]Gson to json string conversion
大家好,我正在将值设置为对象,然后运行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?
是的,您只需要获取JsonTree
并向其中添加一个内部对象
JsonElement innerObject = gson.toJsonTree(myObject);
JsonObject outerObject = new JsonObject();
outerObject.add("myJson",innerObject);
现在, outerObject
具有innerObject
因此您可以从那里获取它,如果需要,可以将其转换为String
。
String json = outerObject.toString();
我不知道Gson是否为此提供选项,但是您可以为您的对象创建一个包装器类:
class ObjectWrapper {
Object myJsonObject;
}
并在包装的对象上使用gson.toJson()
。
您可以创建一个包装器类,该包装器类在其属性“ myJson”中设置了您的对象。
public class Wrapper {
<Yourclass> myJson;
public Wrapper(<Yourclass> obj){
myJson = obj;
}
}
然后基于包装器创建JSON。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.