簡體   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