gpt4 book ai didi

android - gson.fromJson 为动态键返回 null

转载 作者:行者123 更新时间:2023-11-29 00:12:52 25 4
gpt4 key购买 nike

我正在尝试在我的 android 应用程序中使用 gson 解析以下响应:

{
"richerich":{
"id":19250176,
"name":"RichERich",
"profileIconId":744,
"summonerLevel":30,
"revisionDate":1425977347000
}

"alma":{
"id":19250174,
"name":"Alma",
"profileIconId":764,
"summonerLevel":30,
"revisionDate":14259773423424
}
}

键“richeric”是一个动态键,可能会改变,我也可以在我的响应字符串中有其他响应对象,如“richeric”。

我为此创建类:

public class SummonerDto {
private long id;
private String name;
private int profileIconId;
private long revisionDate;
private long summonerLevel;

//getters, setters...
}

和我的响应类:

public class SummonerInfoResponse {

private Map<String, SummonerDto> summoners;

public Map<String, SummonerDto> getSummoners() {
return summoners;
}

public void setSummoners(Map<String, SummonerDto> summoners) {
this.summoners = summoners;
}
}

我使用以下代码:

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

但它返回空值。谁能告诉我为什么?

谢谢。

最佳答案

你应该能够在没有 SummonerInfoResponse 的情况下获得 SummonerDto

这是我的主要内容:

String res = "{\"richerich\":{\"id\":19250176,\"name\":\"RichERich\",\"profileIconId\":744,\"summonerLevel\":30,\"revisionDate\":1425977347000}}";
Gson gson = new Gson();
Map<String, SummonerDto> decoded = gson.fromJson(res, new TypeToken<Map<String, SummonerDto>>(){}.getType());

System.out.println(decoded.get("richerich").getName());

You can get more info from this similar issue.

关于android - gson.fromJson 为动态键返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28960492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com