0

我已经搜索了许多类似的问题“预期 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",它会给出错误。
有什么想法吗?

4

1 回答 1

2

您应该让网络服务返回 null 或 {},而不是“null”。

于 2012-11-17T17:53:02.667 回答