我有一个相同的json字符串:
{
k1: v1,
k2: v2,
k3: {
k31:{
k32:{
k33:{
k34: v3
}
}
}
}
k4: v4,
k5: v5,
k6: v6,
}
我创建了一个对象
K = {k1, k2, k3, k4, k5, k6}
,并且从上述字符串中获取的值应为{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”)。
请为我展示这种情况的解决方案。
最佳答案
使用Gson,ou可以将k3以及k31至k34视为Json数组。然后,K34是一个Json对象,用于获取k34的值。尝试这个:
String value = jsonObj.getAsJsonArray("k3").getAsJsonArray("k31")
.getAsJsonArray("k32").getAsJsonArray("k33").getAsJsonObject().get("k34");
关于android - 使用Gson直接在Json中获取数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34939278/