- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 android 中使用 Rx、retrofit、dagger 和 MVP 模型。来自服务器的响应就像打击:
"User": {
"Address": " ",
"BirthDate": "1395/09/28",
"ConditionFields": [],
"CreateDate": "/Date(1482048048370+0330)/",
"Enabled": true,
"Export": " ",
"FirstName": "kia",
"GUID": "1eaceb23-eace-4cf0-be4d-6d5be338ca46",
"Groups": [],
"JobLocation": "2D2722C1-B9AC-4849-AE12-89FCBF6A3A2D",
"JobLocationName": "",
"JobLocations": {..},
....
这是我的 json 响应的一部分。这个响应是一个巨大的 json 对象。在我的 api 服务中,我的方法返回 Observable>。这是完整的 api 服务:
@POST(UrlManager.LOGIN+"CheckOtherUserLogin")
Observable<Response<String>> getUserLogin(
@Body RequestBody params);
当我运行我的应用程序时出现此错误:
java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 2 path $
我想我知道我的问题是什么,这个错误是因为服务器返回了 json object
但我声明Response<String>
.
正如我之前所说,服务器的响应很大,我的应用程序中没有使用 must of 属性,我不想创建具有所有属性的 pojo 类来存储所有 json 信息在内存中并消耗设备的内存。因此,我想在 api 服务方法中选择 json 响应的一部分。
我该怎么做?
最佳答案
使用此链接为 JSON 简单地创建 POJO 类 http://www.jsonschema2pojo.org/
生成 POJO 后删除不需要的字段。
从 Observable<Response<String>>
更改您的方法返回类型
@POST(UrlManager.LOGIN+"CheckOtherUserLogin")
Observable<Response<String>> getUserLogin(@Body RequestBody params);
收件人Observable<YourPojo>
@POST(UrlManager.LOGIN+"CheckOtherUserLogin")
Observable<YourPojo> getUserLogin(@Body RequestBody params);
关于Android:通过改造在ApiService中选择一部分response json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49578444/
我是在 swift 中使用 API 创建登录的新手。我遵循了 Treehouse 的视频教程,但我使用了不同版本的 Xcode 和 swift。我不知道我会在这些代码中放入什么。希望您能帮助我,或者您
我看到很多人发布关于 NullInjectorError: No provider for HttpClient! 的问题但是我在 Karma 单元测试中遇到了更具描述性的错误。我一直在学习 Angu
我是一名优秀的程序员,十分优秀!