GSON解析错误:预期BEGIN_OBJECT但响应值为null时为STRING

时间:2012-11-17 17:44:11

标签: java android json

我已经搜索了很多类似的问题“预期BEGIN_OBJECT但是STRING”但是对我来说没什么用。
这是我的json字符串:

{
"result": "true",
"data": [{
    "from": {
        "user_id": "user1",
        "name": "user1",
        "avatar": "http://zzzzzz.jpg"
    },
    "request_id": "user1:user2"
},
{
    "from": "null",
    "request_id": "user1:user3"
}]
}

这是我的映射实体:

  public class GetFriendResponse {
    public boolean result;
    public List<FriendRequest> data;
  } 

  public class FriendRequest {
     public String request_id;
     public UserInfo from;
  }

  public class UserInfo {
    public String user_id;
    public String name;
    public String avatar;
 }

我像这样解析json:

 Gson gson = new Gson();
 GetFriendResponse  response = gson.fromJson(jsonString,GetFriendResponse.class);

我检查并看到问题是当结果包含"from": "null"时,它会出错。
有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您应该使webservice返回null或{},而不是&#34; null&#34;。