我有下面的json
{
"id": "1111",
"match": {
"username1": {
"id": "1234",
"name": "alex"
},
"username2": {
"id": "5678",
"name": "munch"
}
}
}
为了将其反序列化,我使用了以下数据模型类。
class json{
String id;
Match match;
}
class Match {
private Map<String,Profile> profiles
}
class Profile{
private String id;
private String name;
}
当我使用gson时,我没有得到任何反序列化错误,但是profiles
变量是空值。这就是我反序列化的方式。var json = gson.fromJson(data,json.class)
在match
对象中,可以有动态数量的用户名,而不仅仅是两个。为什么我得到的profile
对象为空,我如何正确地填充它?
对json进行更改是这里最后的手段,我可以进行任何其他需要的更改。
1条答案
按热度按时间bjp0bcyl1#
问题在于你的模型,你不需要
Match
,因为profiles
在JSON中并不存在,你只需要json
(这个模型做了一些小的改动)和Profile
:这样就行了