簡體   English   中英

JSON將單個字符串解析為對象

[英]JSON parse single string to object

有沒有簡單的方法來轉換此json:

{
    ...,
    "pictures": [
        "url1",
        "url2"
    ],
    ...
}

List<Picture> pictures

圖片在哪里:

class Picture{
      String url;
}

它不能像上面那樣工作,因為我有一個例外,說

Expected BEGIN_OBJECT but was STRING

您需要為此實現一個自定義解串器。 應該看起來像這樣(我沒有嘗試執行,但這應該讓您知道從哪里開始,大概在Picture.class有一個帶有String參數的公共構造Picture.class

private class PictureDeserializer implements JsonDeserializer<Picture> {
  public Picture deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
      throws JsonParseException {
    return new Picture(json.getAsJsonPrimitive().getAsString());
  }
}

它應該被注冊:

GsonBuilder gson = new GsonBuilder();
gson.registerTypeAdapter(Picture.class, new PictureDeserializer());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM