最近由于想对项目进行一些RxJava的重构,顺带看了一下RxJava与Retrofit的结合,才知道了Retrofit这个网络框架(泪奔)。

对于Retrofit的使用以及结合这里就不赘述了,主要是发现Retrofit对于数据的返回都是直接做了解析,但有些时候,我们需要原始的返回数据,或者原始的json,这个时候该怎么办?(一个大写的懵逼)

幸好,在尝试过程中,报了一个Exception,问是否是想获取 ResponseBody?于是,查到 OkHttp内有 ResponseBody 这个类,具体如下(这里使用的是RxJava与Retrofit结合 文章里的例子)

网络请求接口

@GET("top250")
Observable<ResponseBody> getTopMovie(@Query("start") int start, @Query("count") int count)

请求以及返回

private void loadData() {String baseUrl = "https://api.douban.com/v2/movie/";Retrofit retrofit = new Retrofit.Builder().baseUrl(baseUrl).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).addConverterFactory(GsonConverterFactory.create()).build();TestRetrofitService service = retrofit.create(TestRetrofitService.class);service.getTopMovie(0,10).observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.io()).subscribe(new Subscriber<ResponseBody>() {@Overridepublic void onCompleted() {}@Overridepublic void onError(Throwable e) {}@Overridepublic void onNext(ResponseBody responseBody) { try {Log.d("retrofit", responseBody.string());} catch (IOException e) {e.printStackTrace(); } }});}

由上可见,Retrofit可以由ResponseBody来承载数据,具体源码还没时间来看,猜测本身通过OkHttp访问返回的就是ResponseBody。具体情况看了源码再来继续。

responsebody如何将数据转换成json的_干货分享:如何用Retrofit直接获得Json数据(字符串)...相关推荐

  1. 校验json格式_格式化展示,校验错误,编辑JSON,这几个JSON工具一定不能错过

    今天给大家介绍几个常用JSON的工具,基本上能满足你工作中对JSON的所有需求 google插件 JSONView 安装好插件后,格式化接口返回的JSON,还能展开节点和关闭节点,超级方便 格式化本地 ...

  2. flex bison解析json文件_每秒解析千兆字节的 JSON 解析器开源了

    本文转自我们的网站 InfoQ,译者无明.除了推荐 simdjson 之外,还想测试一下微信平台编辑器的代码样式功能. 事实证明,微信文章的代码展示能力很强了.非常棒. 近日,GitHub 开源了一 ...

  3. eureka 之前的服务如何关闭_干货分享 | 服务注册中心Spring Cloud Eureka部分源码分析...

    友情提示:全文13000多文字,预计阅读时间10-15分钟 Spring Cloud Eureka作为常用的服务注册中心,我们有必要去了解其内在实现机制,这样出现问题的时候我们可以快速去定位问题.当我 ...

  4. 位图排序 大数据_干货分享:大话12种排序算法

    干货分享:大话12种排序算法 常见的排序算法: 快速排序.堆排序.归并排序.选择排序 插入排序.二分插入排序 冒泡排序.鸡尾酒排序 桶排序.计数排序.基数排序.位图排序 技能点: 1.归并排序在O(N ...

  5. vs code vue插件_干货分享 | Vue框架常见问题浅谈

    友情提示:全文7800多文字,预计阅读时间10分钟 Vue是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手, ...

  6. python怎么模拟浏览器交互_干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏)...

    今天为大家带来的内容是:干货分享:python爬虫模拟浏览器的两种方法实例分析(赶紧收藏) 文章主要介绍了python爬虫模拟浏览器的两种方法,结合实例形式分析了Python爬虫模拟浏览器的两种常见操 ...

  7. python缺少标准库_干货分享:Python如何自动导入缺失的库

    很多同学在写Python项目时会遇到导入模块失败的情况:ImportError: No module named 'xxx'或者ModuleNotFoundError: No module named ...

  8. 达梦数据库删除用户_干货分享丨DM8用户管理

    原标题:干货分享丨DM8用户管理 用户介绍 安装创建达梦企业版数据库后,系统会默认创建四类数据库账号,分别是: SYS:达梦数据库内置管理用户,不能登录,数据库使用的大部分的数据字典和动态性能视图. ...

  9. python空气质量分析与预测_干货!如何用 Python+KNN 算法实现城市空气质量分析与预测?...

    原标题:干货!如何用 Python+KNN 算法实现城市空气质量分析与预测? 作者 | 李秋键 责编 | 伍杏玲 封图 | CSDN 付费下载自东方 IC 出品 | CSDN(ID:CSDNnews) ...

最新文章

  1. 超详细单机版搭建hadoop环境图文解析
  2. 有多少状元能够成才?(zz)
  3. Entity Framework 4.3 中的新特性
  4. 机器学习之线性回归(Linear Regression)
  5. 1、类型和语法——类型
  6. rabbitmq-路由模式-routingkey
  7. c语言楼梯有10级台阶,C语言小程序之没事爬楼梯
  8. Mybatis源码阅读(四):核心接口4.1——StatementHandler
  9. JS实现前端动态分页码
  10. html中url路径是什么意思,url是什么意思?
  11. Excel或C语言复数运算
  12. pandas入门与数据准备与简单筛选统计
  13. 基于微信小程序的毕业设计题目(30)php物业维修报修小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  14. 如何使用分布式管理工具:Git
  15. 学习:C# 中的委托和事件(转)
  16. 二手苹果手机哪个性价比高?
  17. python稳健性检验_有哪些比较好的做异常值检测的方法?
  18. 艺赛旗(RPA) 【操作列表】
  19. 开心一刻 程序--内行话
  20. C#调用matlab

热门文章

  1. 4.9 内容代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  2. 【PC工具】更新win10关闭更新工具及注意事项
  3. 【工具】公网临时大文件传输工具
  4. 【声源定位】 球面散乱数据插值方法/似然估计hybrid spherical interpolation/maximum likelihood (SI/ML) 麦克风阵列声源定位
  5. 基于FPGA的bubble游戏开发
  6. C++类的成员变量和成员函数
  7. 利用函数来得到所有子节点号 利用函数来取得最高级的节点号
  8. 为什么泪水充满了我的眼眶,那是一种从未有过的感伤,
  9. NUC120 SPI 模拟I2S
  10. UDP 组播---你需要了解这些