当前位置:网站首页>@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注解
边栏推荐
- 解决Navicat激活、注册时候出现No All Pattern Found的问题
- TDengine 离线升级流程
- A high density 256 channel electrode cap for dry EEG
- ArcGIS Pro creating features
- TDengine 连接器上线 Google Data Studio 应用商店
- Flutter development: a way to solve the problem of blank space on the top of listview
- Idea debugs com intellij. rt.debugger. agent. Captureagent, which makes debugging impossible
- Kotlin Compose 多个条目滚动
- C#函数返回多个值方法
- Generics, generic defects and application scenarios that 90% of people don't understand
猜你喜欢
Data visualization platform based on template configuration
Unity粒子特效系列-毒液喷射预制体做好了,unitypackage包直接用 -下
Cent7 Oracle database installation error
【系统设计】指标监控和告警系统
卷起來,突破35歲焦慮,動畫演示CPU記錄函數調用過程
QT event filter simple case
解决idea调试过程中liquibase – Waiting for changelog lock….导致数据库死锁问题
Swift set pickerview to white on black background
写入速度提升数十倍,TDengine 在拓斯达智能工厂解决方案上的应用
(1) Complete the new construction of station in Niagara vykon N4 supervisor 4.8 software
随机推荐
[app packaging error] to proceed, either fix the issues identified by lint, or modify your build script as follow
The writing speed is increased by dozens of times, and the application of tdengine in tostar intelligent factory solution
百度智能小程序巡檢調度方案演進之路
Mobile heterogeneous computing technology GPU OpenCL programming (Advanced)
【技术直播】如何用 VSCode 从 0 到 1 改写 TDengine 代码
基于单片机步进电机控制器设计(正转反转指示灯挡位)
idea用debug调试出现com.intellij.rt.debugger.agent.CaptureAgent,导致无法进行调试
Cerebral Cortex:有向脑连接识别帕金森病中广泛存在的功能网络异常
Hard core, have you ever seen robots play "escape from the secret room"? (code attached)
Pagoda panel MySQL cannot be started
让AI替企业做复杂决策真的靠谱吗?参与直播,斯坦福博士来分享他的选择|量子位·视点...
The comparison of every() and some() in JS uses a power storage plan
Develop and implement movie recommendation applet based on wechat cloud
TDengine可通过数据同步工具 DataX读写
Cerebral cortex: directed brain connection recognition widespread functional network abnormalities in Parkinson's disease
H. 265 introduction to coding principles
Solve liquibase – waiting for changelog lock Cause database deadlock
Officially launched! Tdengine plug-in enters the official website of grafana
Is it really reliable for AI to make complex decisions for enterprises? Participate in the live broadcast, Dr. Stanford to share his choice | qubit · viewpoint
TDengine 离线升级流程