1

如何使用Gson库解析这个不正确的(我认为)JSON。

   {
    ......
       "phones":{
           "155193":"5556739386",
           "155194":"5555301828"
       }
     ......
   }

字符串155193,并且155194是来自服务器的随机值。

需要使用HashMap还是有什么想法?

4

2 回答 2

1

For this situation it helped me:

  public class ServerResponse {
     ...
     private HashMap<String, String> phones;
     ...
  }
于 2013-02-12T00:12:14.837 回答
1

您的答案肯定是正确的(不要忘记将其标记为已接受!),但我有两个注释以答案的形式。

首先,如果你也可以这样使用:

  public class ServerResponse {
     ...
     private Object phones;
     ...
  }

无论如何你都会收到一张地图,当然在这种情况下你需要一个演员表。所以你的解决方案更好。但是,如果服务器向您发送电话列表,它将起作用(当然,您的代码中将有一个类转换异常,而不是JSONParsingException

其次,你的JSON 不是无效的,如果你看一下这个,你会发现它被正确解析了。在这里不起作用的是,您不能按照 POJO 方法进行解析。一种方法就像您回答的那样,另一种可能性是编写一个返回您的适配器..一个地图。所以没什么大不了的,还是让Gson像你那样处理吧。

于 2013-11-12T06:56:50.667 回答