当前位置:网站首页>@SerializedName注解使用
@SerializedName注解使用
2022-07-05 09:41:00 【沙漠一只雕得儿得儿】
有时服务端返回给我们一些字段名不适合作为java bean的名称,我们可以使用@SerializedName注解,来给服务端返回的字段取别名。
例如下面服务端返回的json,1234是一堆无意义的名称,而我们需要明确1234每个字段的含义,这时取个别名就可以很方便后续的开发:
{
"Result": {
"State": "200",
"Msg": "成功"
},
"Data": {
"1": "100",
"2": "CHECKED",
"3": "UPDATE",
"4": 201901021130,
"5": 3.56
}
}
在Android开发中,使用第三方Gson包解析json成对象时默认的是将json文件里对应字段,解析到java代码里的属性字段里面。
像Result标签可以将json数据解析成java对象,但是Data中的数据表示一脸懵,总不可能写一个这样的类吧?
这样肯定是不行的,但是后台这样返回前端该怎么解析呢?
因为JSON中的一些字段可能不太适合直接作为Java字段来命名,因此这里使用了@SerializedName注解的方式来让JSON字段和Java字段之间建立映射关系
为了更加利于别人阅读代码,我们在写对应Java类时,就可以使用@SerializedName让代码变的更加友好。
/**
* Created by ysp
* on 2021/8/16
*/
public class TestBean {
/**
* 1 : 100
* 2 : CHECKED
* 3 : UPDATE
* 4 : 201901021130
* 5 : 3.56
*/
@SerializedName("1")
private String number;
@SerializedName("2")
private String isCheck;
@SerializedName("3")
private String status;
@SerializedName("4")
private long date;
@SerializedName("5")
private double percent;
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getIsCheck() {
return isCheck;
}
public void setIsCheck(String isCheck) {
this.isCheck = isCheck;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public long getDate() {
return date;
}
public void setDate(long date) {
this.date = date;
}
public double getPercent() {
return percent;
}
public void setPercent(double percent) {
this.percent = percent;
}
}
@SerializedName注解_yushuangping的博客-CSDN博客_serializedname注解
边栏推荐
- Kotlin compose and native nesting
- 解决Navicat激活、注册时候出现No All Pattern Found的问题
- QT timer realizes dynamic display of pictures
- 如何获取GC(垃圾回收器)的STW(暂停)时间?
- 90%的人都不懂的泛型,泛型的缺陷和应用场景
- [NTIRE 2022]Residual Local Feature Network for Efficient Super-Resolution
- Analysis on the wallet system architecture of Baidu trading platform
- Six simple cases of QT
- 让AI替企业做复杂决策真的靠谱吗?参与直播,斯坦福博士来分享他的选择|量子位·视点...
- Unity particle special effects series - the poison spray preform is ready, and the unitypackage package is directly used - on
猜你喜欢
如何獲取GC(垃圾回收器)的STW(暫停)時間?
QT timer realizes dynamic display of pictures
Solve the problem of no all pattern found during Navicat activation and registration
Windows uses commands to run kotlin
Node red series (29): use slider and chart nodes to realize double broken line time series diagram
Uncover the practice of Baidu intelligent testing in the field of automatic test execution
Understand the window query function of tdengine in one article
Develop and implement movie recommendation applet based on wechat cloud
Swift set pickerview to white on black background
Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 - 上
随机推荐
Cent7 Oracle database installation error
为什么不建议你用 MongoDB 这类产品替代时序数据库?
天龙八部TLBB系列 - 关于技能冷却和攻击范围数量的问题
历史上的今天:第一本电子书问世;磁条卡的发明者出生;掌上电脑先驱诞生...
Comment obtenir le temps STW du GC (collecteur d'ordures)?
【 conseils 】 obtenir les valeurs des axes X et y de la fonction cdfplot dans MATLAB
MySQL digital type learning notes
Theme. AppCompat. Light. Darkactionbar not found
Swift set pickerview to white on black background
Viewpager pageradapter notifydatasetchanged invalid problem
[200 opencv routines] 219 Add digital watermark (blind watermark)
TDengine可通过数据同步工具 DataX读写
高级 OpenCV:BGR 像素强度图
【小技巧】获取matlab中cdfplot函数的x轴,y轴的数值
【技术直播】如何用 VSCode 从 0 到 1 改写 TDengine 代码
Oracle combines multiple rows of data into one row of data
Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 -下
Android SQLite database encryption
宝塔面板MySQL无法启动
Are databases more popular as they get older?