@serializedname注解的意思
在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。
使用Gson解析json成对象时默认的是将json里对应字段的值解析到java对象里对应字段的属性里面。然后我们经常会遇到我们自己定义的java对象里的属性名跟json里的字段名是不一样的,这种情况怎么办呢,这时我们就可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。
下面说说具体使用方法:
我们有一段json数据如下:
{
- "id":"1"
"n":"kyoya"
"p":"123456"
"s":"0"
}
定义一个User类解析json
public class User{
private String id;
private String n;
private String p;
private String s;
}
User类要这样写才能直接使用Gson直接解析出来,但是这样的话User类的属性命名就不太友好了,那我们要怎么做呢?Gson提供注解的方法来解决这个问题@SerializedName,使用方法如下:
public class User{
private String id;
@SerializedName("n")
private String userName;
@SerializedName("p")
private String password;
@SerializedName("s")
private String sex;
}
优化后的User写法
这样再使用Gson解析的时候就会将n对应的值赋值到userName属性上,同样的如果我们要将User生成json字符串使用Gson生成的时候也会将userName的名字生成n。这样就解决了java对象里属性名跟json里字段名不匹配的情况了。
@serializedname注解的意思相关推荐
- Android中Gson解析json数据使用@SerializedName注解
@SerializedName 此注解作用在属性上,表明这个属性在序列化成Json的时候,需要将名字序列化成注解的value属性指定的值. 我们有一段json数据如下: { "id" ...
- Kotlin 4. Kotlin 函数注解:Suppress,Volatile, Synchronized, Bindable, RequiresApi,SerializedName
一起来学Kotlin:概念:4. Kotlin 函数注解:Suppress,Volatile, Synchronized, Bindable, RequiresApi,SerializedName 这 ...
- Json转换利器Gson-Gson注解和GsonBuilder
1实体的一部分属性导出为Json 2实体类会根据版本的升级而修改 3对输出的json默认排好格式 import java.util.Date; import com.google.gson.annot ...
- 常用注解,依赖,常用类,插件和其它(自用)
目录 参考 下面是自己写的笔记 java注解大全参考: 实用的注解: @Controller 和 @RestController @RequestMapper @PathVariable 和 @Req ...
- Json转换利器Gson之实例二-Gson注解和GsonBuilder
有时候我们不需要把实体的所有属性都导出,只想把一部分属性导出为Json. 有时候我们的实体类会随着版本的升级而修改. 有时候我们想对输出的json默认排好格式. ... ... 请看下面的例子吧: 实 ...
- Android中的网络(字节跳动)
文章目录 RESTful API 对REST的解释 资源与URI 什么是URI HTTP URL的组成 Http 接口 JSON Http资源 XML JSON Android中对JSON的处理 方法 ...
- 从一个Bug开始,重新认识一个强大的 Gson
点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:Mafly, 地址:www.cnblogs.com/mafly/p/gson.html 从 ...
- java gson使用_Java 中 Gson的使用
JSON 是一种文本形式的数据交换格式,它比XML更轻量.比二进制容易阅读和编写,调式也更加方便;解析和生成的方式很多,Java中最常用的类库有:JSON-Java.Gson.Jackson.Fast ...
- Android Studio 第四十九期 - Sqlite数据库四种写法
最近在看撸撸代码,他自己创了一种,网上有三种,分别是OpenDroid,greenDao,sugar,Sqlite原生写法,感觉都差不多,个人使用最优的是greenDao,下面开始介绍: 1.Open ...
最新文章
- SQL Server 2000安装时不出现安装界面,进程中存在解决
- Exchange服务器系列课程之四--管理Exchange收件人
- 皮一皮:原来骑骆驼要求这么高。。
- solr查询特殊字符的处理
- VTK:Filtering之AppendFilter
- 硬件:电脑DNS出现错误对应的解决方案
- (兔子繁殖问题)有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到三个月后每个月又生一对兔子,假如兔子都不死,问32个月过后的兔子总数为多少?...
- ddd 访问权限_基于DDD的微服务设计和开发实战
- 天气预报如何得获得?
- 批处理查找html,批处理(bat)实现全盘搜索指定文件获取其完整路径方法大全,bat大全分享...
- Spark Conf配置用法
- R_circlize包_和弦图(一)
- 扩展MemberShip的使用:
- 搜索关键词采集YouTube视频字幕
- MindSpore21天实战营(2):基于BERT实现中文新闻分类实战
- 同洲电子转型之殇:新瓶装老酒的定位迷航
- vue项目,引入插件element ui 样式不生效
- 计算机如何放置桌面图标,电脑桌面图标怎么随意放置(电脑桌面归纳小窗口)...
- Linux内核配置(9)
- OS X系统 手势终极设置方法+BetterTouchTool详细设置中文翻译
热门文章
- GoLang之标准库strings包
- SpringCloud使用Consul作为配置中心
- Oracle 数据库闪回
- 03 | 数组与链表:存储设计的基石有哪些?
- R9 7900X3D参数 R9 7900X3D性能怎么样 锐龙R97900X3D相当于什么水平
- Python之Pandas学习
- 西北民族大学计算机科学与技术排名,2019西北民族大学专业排名
- 进制转换的思路分析与计算器的实现
- 设图像为 f=[1 5 25 10 20 20] 谷峰法 二值化 图像分割
- python语音合成实现原理_python腾讯语音合成实现过程解析