用Gson在Json中获取正确的数据

时间:2016-01-22 04:55:24

标签: android json parsing gson

我有一个json字符串相同:

{
   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,然后{{获得v3。

我们也无法通过k3获得k31, k32, k33, k34作为Jsoup
如果@SerializedName结构为@SerializedName(" k3.k31.k32.k33.k34")。

请告诉我这个案子的解决方案。

1 个答案:

答案 0 :(得分:1)

使用Gson,你可以将k3和k31到k34视为Json Arrays。然后K34是一个Json对象来获取k34的值。试试这个:

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