当前位置: 首页 > 知识库问答 >
问题:

由:java.lang.IllegalStateException引起:预期为字符串,但为BEGIN_OBJECT

封梓
2023-03-14

我正在使用Gson解析一个JSON字符串,如下所示:

{"showapi_res_code": 0,
  "showapi_res_error": "1",
  "showapi_res_body": {
    "totalNum": 44,
    "ret_code": 0
   }
 }

当我使用以下代码时,一切都很好:

Bean bean = gson.fromJson(stringFromSource, Bean.class);

public class Bean{
    int showapi_res_code;
    String showapi_res_error;
    Body showapi_res_body;

    public static class Body{
        int totalNum;
        int ret_code;
    }
}
Bean1 bean1 = gson.fromJson(stringFromSource, Bean1.class);

public class Bean1 {
    int showapi_res_code;
    String showapi_res_error;
    String showapi_res_body;
}

我如何使用GSON使此工作?

共有1个答案

姚阳德
2023-03-14

嗯,我想这是显而易见的,如果您希望它是字符串,您的JSON应该将字段作为字符串类型。

{"showapi_res_code": 0,
  "showapi_res_error": "1",
  "showapi_res_body": "{ \"totalNum\": 44, \"ret_code\": 0}"
 }
 类似资料:
  • 我正面临一个关于GSON json到Java的问题。我在这里查了很多帖子,但我找不到我的问题的解决方案。所以我在这里列出我的问题。谢谢! 以下是我的Json数据 非常非常感谢!!

  • 问题内容: 我正在使用以下方法从webapi捕获数据: 对于某些请求,这会由于HeapSize太小而导致OutOfMemoryError: 我已经从正常的String操作(如StringBuilder)换成了StringBuilder,但这没有帮助。我怎么解决这个问题?通过isnt作为其Android应用程序的一个选项来增加最大堆大小。 问题答案: 一种解决方案是将要下载的内容持久保存到存储中。

  • 我将请求映射到类,如下所示: 有人能解释为什么我在请求中的数组没有与类A中的数组映射吗?

  • 升级到androidx和SDK 28后,我在构建项目时出现以下错误: .../app/src/main/res/values/style。xml:90:5-93:13:AAPT:error:预期引用,但得到(原始字符串)#000000。 值/样式的相关行。xml: fab_label_后台资源(以防万一)是:

  • 问题内容: 试图使react-router(v4.0.0)和react-hot-loader(3.0.0-beta.6)正常播放,但是在浏览器控制台中出现以下错误: 警告:React.createElement:类型无效- 预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。您可能忘记了从定义文件中导出组件。 index.js: route.js: 问题答案: 在大多数情况下,

  • 我想使用改装2从服务器检索数据。我已经读了很多同一个问题的答案,但我不知道问题是什么,这个和这个。然而,我一次又一次地遇到同样的问题。 这是我的接口课 这是我的第一堂模特课 这是我的第二节模型课 这是我的改装经理班 日志Cat错误是: