@SerializedName注解_@interface serializedname-程序员宅基地

技术标签: android工作杂记  

 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。
  Gson解析json的方法我这里就不详细说明了,网上一大把的例子,我这里主要说一下使用@SerializedName进行注解的情况。
  使用Gson解析json成对象时默认的是将json里对应字段的值解析到java对象里对应字段的属性里面。然后我们经常会遇到我们自己定义的java对象里的属性名跟json里的字段名是不一样的,这种情况怎么办呢,这时我们就可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。
  下面说说具体使用方法:
  我们有一段json数据如下:

  1. {
  2. "id":"1"
  3. "n":"zhangsan"
  4. "p":"123456"
  5. "s":"0"
  6. }

  这是一个user的数据包括id、用户名、密码、性别,如果正常些一个user类来解析的话是这样的:

  1. public class User{
  2. private String id;
  3. private String n;
  4. private String p;
  5. private String s;
  6. }

  User类要这样写才能直接使用Gson直接解析出来,但是这样的话User类的属性命名就不太友好了,那我们要怎么做呢?Gson提供注解的方法来解决这个问题@SerializedName,使用方法如下:

  1. public class User{
  2.  
  3. private String id;
  4.  
  5. @SerializedName("n")
  6. private String userName;
  7.  
  8. @SerializedName("p")
  9. private String password;
  10.  
  11. @SerializedName("s")
  12. private String sex;
  13. }

  这样再使用Gson解析的时候就会将n对应的值赋值到userName属性上,同样的如果我们要将User生成json字符串使用Gson生成的时候也会将userName的名字生成n。这样就解决了java对象里属性名跟json里字段名不匹配的情况了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Yujan_2015/article/details/77235122

智能推荐

枚举 注解_编写一个person类,使用override注解它的tostring方法-程序员宅基地

文章浏览阅读157次。10.1 枚举类的使用 主要内容:  如何自定义枚举类  如何使用关键字enum定义枚举类  Enum类的主要方法  实现接口的枚举类10.1.1 枚举类的使用:入门  类的对象只有有限个,确定的。举例如下:  星期:Monday(星期一)、......、Sunday(星期天)  性别:Man(男)、Woman(女)  季节:Spring(春节)......Winter(冬天)  支付方式:Cash(现金)、WeChatPay(微信)、Alipay(_编写一个person类,使用override注解它的tostring方法

传统蓝牙RFCOMM协议概念介绍-Bluetooth rfcomm-程序员宅基地

文章浏览阅读9.2k次,点赞3次,收藏17次。零. 概述本文章主要讲下蓝牙RFCOMM协议(bluetooth rfcomm)的概念以及在整个蓝牙协议栈中的起的作用一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等第三篇:传统蓝牙controller介绍,主要介绍传_rfcomm

python 删除特定列_pandas删除某一列的方法(drop函数)-程序员宅基地

文章浏览阅读6w次,点赞7次,收藏53次。呆瓜半小时入门python数据分析(博主录制)方法一:直接del df['column-name']删除sub_grade_列,输入del df['sub_grade_x']方法二:采用drop方法,有下面三种等价的表达式:1. df= df.drop('column_name', 1)输入:df,drop('num',axix=1),不改变内存,及输入df的时候,它还是显示原数据2. df.d..._pandas drop列

最牛逼的java代码_分享史上java最牛逼,最简短的代码-程序员宅基地

文章浏览阅读1.7k次。确实是12306的最核心代码呀alert("当前访问用户过多,请稍后重试!");确实牛public class Test{static{System.out.println("hello world!");System.exit(0);}}这代码style逆袭了public class ZuiNiu{public static void main(String[] args){System.out..._java好用的代码

NC搭建开发环境_nchome-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏9次。1. 配置nchome此步骤跟正常配置没有差别,但是服务器名称名字必须是***server***,否则在开发环境启动中间件的时候不会按照设置的端口启动,而是启动的80端口。2. 配置开发工具窗口-首选项-UAP-STUDIO集成开发环境-开发配置依次配置nchome,数据源,客户端IP和端口号,然后点应用,确定3. 新建项目设置项目名称,模块名称,业务组件名称,都可直接设置为test,等到工具下方进度条消失后,项目创建完成4. 启动中间件和客户端选中项目右键,调试方式,UAP中_nchome

python安装教程_大学生鱼与渔 python安装教程-程序员宅基地

文章浏览阅读295次。安装步骤:安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。试装系统:win10 64bit安装版本:python3.7.01.解压安装包(注意解压的路径不要有中文)。2.以管理员身份运行安装程序。3.选择“customize installation”,记得勾选“Add python 3.7 to PATH”。4.点击“Next”。5.选择安..._大学生鱼与渔 python安装教程

随便推点

MyBaits学习-3_@mapper 取别名-程序员宅基地

文章浏览阅读151次。MyBatus学习-3再经过MyBatis的Helloworld程序学习,我们知道Mapper的配置文件就是MyBatis的核心,也是他的魅力所在,魔法之源,至尊奥义。接下来我们先去补全我们的增删改查操作,在EmployeeMappper接口中添加剩下的三个方法: public boolean addEmp(Employee employee); public void upd..._@mapper 取别名

matlab如何用二分法求函数零点,如何用二分法求函数的“零点”的近似值-程序员宅基地

文章浏览阅读2.6k次。什么是二分法?定义:对于区间 【a , b】上连续的,且 f ( a ) - f ( b ) < 0="" 的函数="" y="f" (="" x="" )="" ,通过不断地把函数="" f="" (="" x="" )="">怎么用二分法求函数的零点的近似值?用二分法求函数零点的近似值步骤如下:第一步:确定区间 【a , b】,验证:f(a)·f(b)<0,给定精确度;第二步:求区..._二分法求函数零点matlab

Oracle10g RAC在线更换OCR votedisk-程序员宅基地

文章浏览阅读123次。操作之前确认集群状态都正常1、替换OCR# ./ocrconfig -replace ocrmirror /dev/rhdisk11# ./ocrcheckStatus of Oracle Cluster Registry is as follows : Version : 2 Total s..._oracle 10g rac替换ocr

颜色识别_csdn颜色识别-程序员宅基地

文章浏览阅读456次。【OpenCV】颜色识别实例(瓶盖) 原创 ..._csdn颜色识别

拓扑排序算法原理及Java代码实现_拓扑排序算法 java-程序员宅基地

文章浏览阅读2.2k次。一、拓扑排序的概念对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。拓扑(ta pu)排序:BFS + 贪心,专门用于解决任务调度、课程顺序问题;核心元素:入度,即有向图中某个顶点作为终点的次数之和;二、算法原理将问题转化为有向图_拓扑排序算法 java

Eclipse2020-06配置Tomcat8.5运行Maven项目(图解)_eclipse用tomcat启动maven项目-程序员宅基地

文章浏览阅读966次。文章目录问题描述解决办法问题描述在将要准备运行 maven 项目时,点开了 Servers 里面的 Tomcat ,准备添加 maven 项目运行,却发现不能添加 maven 工程。解决办法右单击maven工程,选中 Properties ;然后弹出下面这个框点击 Project Facets,勾选下面三项再来,试试看看有没有;报错很尴尬,刚刚那里选错了重新选择这回可以运行了知乎:叄贰壹简书:带只拖鞋去流浪关注我,带你一起写bugwarning :版权所有,转载请_eclipse用tomcat启动maven项目

推荐文章

热门文章

相关标签