繁体   English   中英

Gson到JSON字符串转换

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM