如何使用Gson库解析这个不正确的(我认为)JSON。
{
......
"phones":{
"155193":"5556739386",
"155194":"5555301828"
}
......
}
字符串155193
,并且155194
是来自服务器的随机值。
需要使用HashMap
还是有什么想法?
For this situation it helped me:
public class ServerResponse {
...
private HashMap<String, String> phones;
...
}
您的答案肯定是正确的(不要忘记将其标记为已接受!),但我有两个注释以答案的形式。
首先,如果你也可以这样使用:
public class ServerResponse {
...
private Object phones;
...
}
无论如何你都会收到一张地图,当然在这种情况下你需要一个演员表。所以你的解决方案更好。但是,如果服务器向您发送电话列表,它将起作用(当然,您的代码中将有一个类转换异常,而不是JSONParsingException
其次,你的JSON 不是无效的,如果你看一下这个,你会发现它被正确解析了。在这里不起作用的是,您不能按照 POJO 方法进行解析。一种方法就像您回答的那样,另一种可能性是编写一个返回您的适配器..一个地图。所以没什么大不了的,还是让Gson像你那样处理吧。