2016-01-22 64 views
1

我有一個JSON字符串相同:獲取dirrectly數據與GSON

{ 
    k1: v1, 
    k2: v2, 
    k3: { 
    k31:{ 
     k32:{ 
      k33:{ 
      k34: v3 
      } 
     } 
    } 
    } 
    k4: v4, 
    k5: v5, 
    k6: v6, 
} 

我創建了一個對象的對象K = {k1, k2, k3, k4, k5, k6}和價值abover字符串得到應{v1, v2, v3, v4, v5, v6}

隨着GSON很容易得到v1, v2, v4, v5, v6. 隨着V3,如何直接得到它,我不想做一個對象包裝k33,然後k32,然後k31,然後k3得到V3。

我們也無法通過k31, k32, k33, k34得到v3作爲Jsoup
如果@SerializedName結構作爲@SerializedName( 「k3.k31.k32.k33.k34」)。

請給我看一個這種情況下的解決方案。

+0

我認爲你必須遍歷來獲得對象。你不能直接獲得v3。只有XML有這樣的功能。 – Vishwa

+0

[如何在Android中解析json字符串?]可能的重複(http://stackoverflow.com/questions/8091051/how-to-parse-json-string-in-android) –

+0

對不起,我需要與Gson的解決方案要直接解析,而不是如何解析一般。 – phongvan

回答

0

使用Gson,您可以將k3和k31到k34視爲Json數組。然後K34是一個Json對象來獲取k34的值。試試這個:

String value = jsonObj.getAsJsonArray("k3").getAsJsonArray("k31") 
.getAsJsonArray("k32").getAsJsonArray("k33").getAsJsonObject().get("k34");