java - GSON解析错误:Expected BEGIN_OBJECT but was STRING when response value is null

标签 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" 时,它会给出错误。
有什么想法吗?

最佳答案

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

关于java - GSON解析错误:Expected BEGIN_OBJECT but was STRING when response value is null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13433078/

相关文章:

android - 如何使用 ObjectBox 存储货币值 (BigDecimal)?

android - OnKeyListener 不工作

python - 填充预定义的 pandas 数据框

java - jspc-maven-plugin 没有执行?

java - 使用java反射进行静态代码分析

java - Swing图形重新定位drawString

android - 我的游戏 Canvas 像在电脑上一样被缩小了

java - 在 Selenide 中捕获 shouldHave/shouldBe 方法

javascript - Gulp 任务读取多个 JSON 文件并合并为一个

ios - JSON加载ProgressView