我想使用Gson库使用嵌套对象反序列化Json。我正试图从clash royale的api获取数据。
我已经在TextView上打印了第一个Gson数据,但我发现无法对嵌套对象执行相同的操作。让我给你举个例子:
[
{
"tag": "Whatever",
"name": "Whatever",
"trophies": 5262,
"rank": 99,
"arena": {
"name": "Whatever",
"arena": "Whatever",
"arenaID": 14,
"trophyLimit": 4700
},
"clan": {
"tag": "Whatever",
"name": "Whatever",
"role": "Whatever",
"donations": 23,
"donationsReceived": 44,
"donationsDelta": -20,
"badge": {
"name": "Whatever",
"category": "Whatever",
"id": 16003333,
"image": "https://royaleapi.github.io/cr-api-assets/badges/Whatever.png"
}
我可以显示标签,名称和奖杯,但我无法访问clan对象内的数据。
要在TextView中打印这些数据,我只需要声明一个我托管它们的类,例如:
public class ClashData implements Serializable {
public String tag;
public String name;
public int trophies;
}
然后我通过在相应的布局中放置TextView并将以下代码行连接到TextView:
public ClashData data;
之后,在onCreate里面
data =(ClashData)getIntent().getSerializableExtra("data");
最后
nameUser.setText("Name ", data.name);
tagUser.setText("Tag " + data.tag);
trophiesUser.setText("Trophies " + data.trophies);
我已经尝试了从嵌套对象中提取数据的所有内容,但我不知道该怎么做,你能帮助我吗?