Retrofit2.0中如何创建JSON所对应的javaBean

Android框架之路——Retrofit2.0的初窥(包含Gson) 使用姿势:   1. 使用教程 添加依赖 compile ‘com.squareup.retrofit2:retrofit:2.2.0’ compile ‘com.squareup.retrofit2:converter-gson:2.2.0’ AndroidStudio添加Gson插件——GsonFormat    2. 阅读详情

本文重点讲解在Retrofit2.0中如何讲比较复杂的JSON对象转化为javaBean,而不过多介绍Retrofit2.0的用法,因为讲解Retrofit2.0的文章已经有很多人写了,也写的很详细,我作为一个初用Retrofit2.0的新手,便不班门弄斧了,写这篇文章的主要目的是因为自己在使用的过程中遇到了一些小问题在多方查找下得已解决,因为网上资料比较散,所以在此做个小小的总结。

如今的Android开发中,JSON应该是最主流的数据传输格式了,最简单的一个JSON形式就是这个样子的:



但理想是丰满的,实际工作中所遇到的JSON有时会比较复杂,下面看一个:



这个JSONObject中包含着第二层的JSONObject,第二层的JSONObject中又包含着JSONArray,那么对于这种JSON,我们该如何创建对应的javaBean呢。

对于最外层的JSON,我们可以创建一个类Base(名字瞎取得,不喜勿喷><!):



我们看到"data"这个key所包含的又是一个JSONObject,那么我们可以创建一个类叫Data:



其中List<BzList> beauties对应的就是"bzList"这个JSONArray,而BzList即JSONArray中的JSONObject,我们可以创建一个BzList类:


到此这个JSON的javaBean就创建好了。

写到这里发现标题写的Retrofit2.0,但是貌似内容与其关联不大。为了不让大家留下口舌,那就随便介绍下Retrofit2.0最基本的get请求吧。


首先贴上上述JSON的接口地址:


那么怎么通过使用Retrofit2.0去请求这个地址呢?

在Base类中我们定义了个WXTApi的接口,通过@GET注解标识为get请求,@GET中所填写的value和baseUrl组成完整的路径,接口中定了一个getFeed方法@Path为动态路径替换,会替换@GET中的{owner},@Query为动态查询参数,其值构成”?sessionId=ff0766abcc9888d618a629630a42cd07“部分。


接下来创建Retrofit2的实例,并设置BaseUrl,因为我们获取到的数据是json格式的,所以我们可以用Gson转换。



创建请求服务,并为网络请求方法设置参数


其中在getFeed方法中我们传入的参数与baseUrl就组成了我们完整的访问路径。


最后我们就可以对我们拿到的数据进行逻辑处理了





Android Retrofit网络获取+Recyclerview展示数据 本人第三篇个人博客,还是Android方向的技术,retrofit我们可以简单理解 为网络加载框架,底层呢还是基于okhttp,对于新手来说,可以减少代码 量,更方便使用,而且还支持和RXJava一起使用。然后就是使用 Recyclerview 列表去展示我们所获取的数据 先看一眼效果: 那我们闲话少说,直接上代码了。 首先我们要在相对应的build.gradle文件中导入相应的依赖 imp... 阅读详情

相关推荐

如何使用JMeter进行大模型的压力测试?

使用JMeter进行大模型的压力测试,核心是通过模拟高并发请求,测试大模型在极限负载下的性能表现(如响应时间、吞吐量、错误率、资源瓶颈等)。通过以上步骤,可系统性评估大模型在高压下的性能极限,为优化模型(如量化、蒸馏)、扩容硬件(增加GPU)或调整接口限流策略提供数据依据。)、请求方式(POST)、认证方式(API Key放在Header)、请求参数(作用:避免瞬间高压压垮系统,更精准找到瓶颈点。等)、响应格式(同步/流式)。需获取:API地址(如。通过CSV文件引入不同。

alankuo的专栏 794

Retrofit网络请求库应用02——json解析

PS:上一篇写了Retrofit网络请求库的简单使用,仅仅是获取百度的源码,来证明连接成功,这篇讲解如何解析JSON数据,该框架不再是我们之前自己写的那样用JsonArray等来解析,这些东西,我们都不用写,只需要写和数据相关的model就可以,下面是简单的JSON数据格式,我们来分析一下。 { "Xname": "中国", "type": "true", "p...

weixin_30826095的博客 158

LabVIEW内存优化实战:用DVR和队列高效处理大型数组,告别数据副本

本文深入探讨LabVIEW内存优化技术,重点介绍数据值引用(DVR)和单元素队列(SEQs)在高效处理大型数组中的应用。通过对比传统方法与现代引用技术的性能差异,提供减少内存副本、提升程序效率的实战方案,帮助开发者在测试测量、图像处理等数据密集型场景中实现显著性能提升。

weixin_30835649的博客 1062

Retrofit2使用(非常简洁易懂)

http://blog.csdn.net/baidu_31093133/article/details/51759452(转) 1、什么是Retrofit框架? 它是Square公司开发的现在非常流行的网络框架,所以我们在导入它的包的时候都可以看到这个公司的名字,目前的版本是2。 特点: 性能好,处理快,使用简单,Retrofit 是安卓上最流行的HTTP Cl

u010507199的专栏 600

文石NoteX3国行版安装 Google Play经验分享

文石NoteX3国行版安装 Google Play经验分享。

2301_80693261的博客 7609

手把手教你学Simulink--移动机器人多轮协同场景实例:基于Simulink的双轮差速PMSM轮毂电机协同驱动仿真

本文介绍了基于Simulink的双轮差速PMSM轮毂电机协同驱动仿真系统。针对移动机器人存在的电机参数不一致、负载分配不均等问题,提出主从同步+力矩补偿的协同控制策略。通过搭建包含运动学模型、PMSM电机模型和矢量控制器的仿真系统,实现了速度同步误差<0.005m/s、轨迹跟踪误差<0.8cm、能耗降低12.5%的优化效果。文章详细阐述了建模步骤、核心算法实现和性能验证,为移动机器人动力系统设计提供了实用参考方案。

MHD0815的博客 133

Android Retrofit 接入——post方式发送表单,返回数据转换为JavaBean(一)

对于Retrofit,一直都没用过,因为一直在使用自己封装的Okhttp3.0 来实现网络请求,最近接到一个比较简单的项目,想着,就当作学习了,在项目中接入Retrofit,本文章只是简单接入Retrofit 。调试接口。 Retrofit 官方地址 官方中有简单的接入方法: public interface GitHubService { @GET("users/{user}/re...

Kenway090704的博客 2448

[Dify实战] 在 Dify 官网环境使用 File Translator 插件实现 Office 文档翻译(支持 DOCX/XLSX/PPTX)

摘要:Dify平台的FileTranslator插件可实现Office文档一键翻译,保留原格式和结构。该插件支持Word、Excel、PPT等文件格式,无需额外密钥,直接复用Dify配置的大模型。安装后,用户可在Workflow中调用插件,设置目标语言等参数完成翻译。输出文件自动命名,保留原格式。适用于跨国协作、海外营销等场景,显著提升多语言办公效率。该插件简化了文档翻译流程,是企业用户和开发者的实用工具。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 544

retrofit对于BaseBean类的封装

最近才刚刚接触到retrofit 然后就自己的理解对其进行简单的叙述 首先是将retrofit+rxjava+rxLifeCycle等库导入。我这个地方就一下子导入了包含其他的库如果你能够用到就可以直接使用如果不能用到可以去除掉 compile 'io.reactivex.rxjava2:rxandroid:2.0.1' compile 'io.reactivex.rxjava2

weixin_41307234的博客 2497

【零基础入门unity游戏开发——3D篇】3D物理关节 —— Joint相关组件

【零基础入门unity游戏开发——3D篇】3D物理关节 —— Joint相关组件

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1202

【05】昊一源科技——昊一源科技 嵌入式笔试, 校招,题目记录及解析

本文记录了昊一源科技嵌入式校招笔试题目及解析,涵盖计算机基础、汇编语言、网络协议、C语言编程等内容。主要包括:1)补码真值计算;2)MCS51汇编指令执行后寄存器状态;3)网络广播地址计算;4)TCP协议特点;5)C语言三目运算符应用;6)宏定义优先级问题;7)字符指针与数组的区别;8)C++静态成员变量应用;9)三位完全平方数查找程序。题目难度适中,涉及嵌入式开发常见知识点,对求职者基础能力考察全面。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1308

post方式发送json格式的网络请求(基于Retrofit2)

笔者最近用图灵V2版本,V2跟V1版比起来,很大的区别是网络请求,V1版只需一条网址链接即可请求数据,V2版本则需要以请求参数格式为 json的post请求数据,无疑增大了难度 打开图灵官网API V2.0接入文档 文档给我们提供了请求示例和返回示例,看着数据十分复杂,复杂的数据就不必用android原生的json解析方式了,因为很容易出错。这里用谷歌的神器gson以及它的插件GsonFormat...

skyang在路上 3万+

【Apache Paimon】-- 13 -- 利用 paimon-flink-action 同步 mysql 表数据

在Paimon 诞生以前,若 mysql/pg 等数据源的表结构发生变化时,我们有几种处理方式(1)人工通知(比如常规的使用邮件),然后运维人员手动同步到数据仓库中(2)使用 flink 消费 DDL binlog ,然后自动更新 Hive 的外部表和内部表 schema那么现在,有了 Paimon ,我们可以利用其特性,自动识别并同步 DDL 这些变化,并同步至 hive 的 paimon 格式表中。

欢迎来到我的博客,一起探索代码里的世界! 1250

Retrofit请求网络解析json

感觉现在好多人都在说什么安卓快凉了,工作越来越难找了。又是说什么程序员中年危机啥的,为啥我这年近30的老农根本没有这种感觉,反倒觉得那些贩卖焦虑的都是瞎j8扯谈。当然,职业危机意识确实是要有的,但根本没到那种草木皆兵的地步好吗?Android凉了都是弱者的借口和说辞。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。

2401_84121485的博客 1175

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

github 网络请求库 Retrofit2

Retrofit2 网络请求库,它对okHttp进行了封装,加上利用了Java注解等特性,使得它能适应于灵活多变的网络请求情景。 http://square.github.io/retrofit/ 1、下载 app-> ### implementation 'com....

chongbianpang0485的博客 425

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

retrofit 2.0 android 教程,初识Retrofit2.0

Retrofit无疑是当下最流行的Android网络请求框架了,是Square提供的开源产品。官方网站是这样介绍Retrofit的—-A type-safe HTTP client for Android and Java,为Android平台的应用提供一个类型安全的HTTP客户端。Retrofit 是一套注解形式的网络请求封装库,它的强大在于让代码结构更加清晰,它可以直接解析JSON数据变成JA...

weixin_33755379的博客 383

使用Retrofit获取JSON数据

在大家使用网络请求的时候,往往会出现一种情况:需要拿到服务器返回来的JSON字符串,而Retrofit会默认将Json解析,而又没有直接暴露出拿到Json字符串的方法;       今天测接口的时候,发现当数据正常时,服务器会返回{"code":200,"datas":"1"},当请求参数有错误时,会返回{"code":400,"datas":{"error":"\u59d3\u540d\u4e

liuye066的专栏 6548

retrofit中errorbody的读取

在retrofit2.0中,返回成功时数据的获取通常都有success和error两种,第一种success的我们就不讨论了,而现在我们看看怎么整理获取errorbody中的json字段: 例子: Errorbody的json: {"timestamp":1524031801129,"error":"Precondition Failed","exception":"com.exceptio...

我也想当个程序员 5128

Retrofit2.0笔记——addConverterFactory同时支持xml和json格式响应数据

Retrofit2的一个特色功能,就是通过addConverterFactory()方法设置一个数据转换器,可以将http请求的响应数据转换成JavaBean。如后台常见的两种返回数据格式:json和xml,分别可以用GsonConverterFactory和SimpleXmlConverterFactory进行转换。对应的gradle依赖分别是: implementation 'com.s...

China_Style的专栏 6473

Android之Retrofit2.0 处理返回json报文并转换成bean对象

本文主要介绍在Retrofit 2.0中,如何将服务器返回的json字符串转换成bean对象。   参考博客: Retrofit2使用(非常简洁易懂) 实现效果:        使用姿势:    1. 使用教程 添加依赖  compile ‘com.squareup.retrofit2:retrofit:2.2.0’ compile ‘com.squareup.retrofit...

LVXIANGAN的专栏 9681

Android 网络请求框架之Retrofit 的 详细使用

一.Retrofit的介绍 retrofit同样是一款由Square公司开发的网路库,上次说的okhttp是一种更接近底层通信的一种使用,而现在的retrofit更加简洁,它是侧重于对功能接口的封装。retrofit是在okhttp基础上进一步开发出来的应用层网络通信库,使我们更加好的理解去进行网路请求。Retrofit官方地址是:https://github.com/square/retrofit 二.Retrofit的基础使用 首先先去官网找到最新的依赖,加入到我们的build.gradle中去 imp

weixin_43547832的博客 2395

retrofit处理获得的json数组

首先先将获得数据写成javabean的格式 可以用这个http://www.jsonschema2pojo.org/ 接着,在处理的时候,关键点在于拿到list中的东西,可以参照我github中的源码: https://github.com/766464365/Retrofit2Demo 关键代码: 声明: List&lt;String&gt; income1=new ArrayList...

我也想当个程序员 2954

Android开源框架之Retrofit

Retrofit是一个类型安全的HTTP的客户端,在Android和Java中都可使用。Retrofit通过注解实现RESTful网络接口,底层使用Okhttp完成网络请求的实现。另外,Retrofit封装了主线程和子线程的切换以及网络数据的解析,在使用上要比OkHttp便利不少。 Retrofit的使用步骤 添加依赖 dependencies { //Retrofit依赖 c...

qq_36828822的博客 363

Android Retrofit网络获取数据+Recyclerview展示数据

这里可有部分朋友理解不了,这样写的好处是,当公司正式的项目没有上线时,有可能使用的公网的地址,还不是正式的域名,单独把 BASE_URL 提出来的好处也是为了日后方便修改,不用在去代码海里去挨个找寻。然后是最后一步,我们已经拿到数据并且将它存入集合当中,剩下要做的事就是将数据展示出来,RecyclerView 的使用,就是通过适配器来完成的。这里推荐把从网址上拿下来的字符串,先进行解析,笔者使用的是 GsonFormat 的插件,可以对数据一键解析,具体推荐使用。那我们闲话少说,直接上代码了。

rhtnll的博客 1181

android 使用Retrofit请求网络

文章所有资料全部已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析资料展示:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!已经打包整理好,另外小编手头上整理了大量Android架构师全套学习资料,Android核心高级技术PDF文档+全套高级学习资料+视频+2021 BAT 大厂面试真题解析。

2401_84010901的博客 663

Retrofit2.0-Turing

刚开始探索……第一步先了解要请求的json数据如我要请求的是:图灵机器人最简单的json数据:请求示例为:请求示例: { “key”:“APIKEY”, “info”:“你好” }返回的数据:{ “code”:100000, “text”:”你也好 嘻嘻” }那么就根据这个来创建一个简单的NewsBean实体类:public class NewsBean implements Seri

Calo_missile的博客 394
上一篇: Volley框架使用报错:NetworkDispatcher.run: Unhandled exception java.lang.NullPointerException
下一篇: Listview里包含组件(checkbox)点击事件和Item的点击事件冲突
AndroidShuai
博客等级 码龄12年 2粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值