簡體   English   中英

如何使用Gson解析以下json?

[英]How to parse following json using Gson?

我已經看到了有關使用動態鍵解析json的類似問題,但無法弄清楚如何解析以下json:

{
    "unknown": 
     {
         "id":3980715,
         "name":"namename",
         "profileIconId":28,
         "revisionDate":1451936993000
     }
}

在這里,“未知”鍵是動態的,它可以是任何東西。 我們不知道這是什么。

我嘗試了以下課程:

public class MyResponseClass {
    private Map<String, Object> myResponse;

    //Getter and setter
}

但是在使用gson如下所示后,myResponse變為空:

return gson.fromJson(response, MyResponseClass.class);

那么,我該怎么做呢?

謝謝。

我可以設法將其解析如下:

Type mapType = new TypeToken<Map<String, MyResponseClass>>() {}.getType();
Map<String, MyResponseClass> map = gson.fromJson(response, mapType);

然后遍歷地圖以獲得我想要的東西。

在字段myResponse添加注釋。

public class MyResponseClass {
    @SerializedName("unknown")
    private Map<String, Object> myResponse;

    //Getter and setter
}

嘗試這個:

// String jsonStr = ...;
Gson gson = new Gson();
Map<String, Object> jsonData = new HashMap<String, Object>();
jsonData = (Map<String, Object>)gson.fromJson(jsonStr, Object.class);

您的JSON數據將存儲在Map<String, Object> (這是在Java中存儲JSON數據的最簡單方法)。

因此,在此地圖中,使用unknown密鑰的情況下,您將擁有另一張idname等的地圖。

暫無
暫無

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

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