@SerializedName注解】的更多相关文章

在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合. Gson解析json的方法我这里就不详细说明了,网上一大把的例子,我这里主要说一下使用@SerializedName进行注解的情况. 使用Gson解析json成对象时默认的是将json里对应字段的值解析到java对象里对应字段的属性里面.然后我们经常会遇到我们自己定义的java对象里的属性名跟json里的字段名是不一样的,这种情况怎么办呢,这时我们就可以使用@SerializedNa…
@SerializedName注解的意义 当我们使用Gson解析Json数据时都会创建一个对应实体类,有时候Json数据里面的字段是Java关键词或者Json数据里面的字段太简单,我们想在实体类中自定义字段名,这时就可以用@SerializedName注解. @SerializedName注解,不管是对象转Json还是Json转对象,字段名称会被替换成注解的名字. @SerializedName这个注解解决了我们Model和Json不对应的问题,好处: 首先将服务器字段和客户端字段名称区分,不用…
这几天,因为项目的需要,接触了Google的Gson库,发现这个东西很好用,遂记下简单的笔记,供以后参考.至于Gson是干什么的,有什么优点,请各位同学自行百度.话不多说,切入正题: 1. 下载Gson的jar包,拷贝到项目的lib文件夹中,并将其加入到buildPath中.使用maven的同学,直接在pom中加入以下依赖即可: ? 1 2 3 4 5 <dependency> <groupId>com.google.code.gson</groupId> <ar…
官方文档地址:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html 官方网站:http://code.google.com/p/google-gson/ json官方网站:http://www.json.org/json-zh.html 目前主流数据传输都用的是json,解析json并且转换成相应的类型就成了必经之路. 在没有使用gson之前,原生Andoird自带有类解析json,但是实在不方便使用.…
转自:http://my.oschina.net/itblog/blog/204120 这几天,因为项目的需要,接触了Google的Gson库,发现这个东西很好用,遂记下简单的笔记,供以后参考.至于Gson是干什么的,有什么优点,请各位同学自行百度.话不多说,切入正题: 1. 下载Gson的jar包,拷贝到项目的lib文件夹中,并将其加入到buildPath中.使用maven的同学,直接在pom中加入: <dependency> <groupId>com.google.code.g…
从一个 Bug 说起 不知道你们发现没有,你写完的程序无论当时怎么测试,过一段时间总会出 Bug .再说一个每天都在发生的例子:在你写完一篇博客后,立即检查的话,总是查不出自己写的错别字. 据说这些都包含有一些大脑对当下事物处理的逻辑在里边,而且还有心理学因素在里边,我也不懂.反正现在就是程序出 Bug 了!出 Bug 了!! Bug !!! 事情是这样的,客户端请求服务器开放接口时,我们是以 JSON 字符串的形式返回的,这时候本来正常返回形式是这样: { "name": "…
android-data-binding 这是一个可以将 json 字符串 直接绑定到 view 上的库, 不用先将 json 转换为 model 类. 传送门(https://github.com/gplibs/android-data-binding) 1. 安装 gradle: dependencies { compile 'com.gplibs:data-binding:1.0.0' } 2. 一个简单的例子 json字符串数据源 json_data_source_binding_jso…
看过<第一行代码>的朋友应该知道“酷欧天气”,作者郭神用整整一章的内容来讲述其从无到有的过程. 最近正好看完该书的第二版(也有人称“第二行代码”),尝试着将项目中的Java代码用Kotlin实现. 原项目获取点这里 Kotlin实现点这里 除了将Java转为Kotlin外,界面与资源的定义也略微做了调整,但是功能上没有变化(这部分后续进行完善,书中有提到可以改进的地方). 1. 界面调整 1.1 将“预告”和“空气质量”两个模块的位置互换,“空气质量”和“温度/天气状态”放在一起感觉会比较直观…
目录 数据交换格式介绍 XML 使用DOM方式解析 使用SAX方式解析 使用DOM4J方式解析 使用JDOM方式解析 JSON 使用JSONObject方式将数据转换为JSON格式 利用JSONObject对象方式构建JSON 将map转换为JSON格式 将JavaBean转换为JSON格式 使用JSONObjec读取JSON格式数据 直接读取jsonobject数据 使用google-gson将数据转换为json格式 使用gson生成json数据 使用注解设置json中的key名称 使用Fie…
1. @JsonProperty和@SerializedName注解 使用场景 将一个json格式的字符串转换成某个java对象,或者将一个java对象转换成json格式的字符串时,如果json字符串中的字段跟java对象中定义的属性名不一致,需要在java对象的属性上加上@JsonProperty或@SerializedName进行转换. 示例 @JsonProperty("jsonName") private String name; 或者 @SerializedName(&quo…
JSON 是一种文本形式的数据交换格式,它比XML更轻量.比二进制容易阅读和编写,调式也更加方便;解析和生成的方式很多,Java中最常用的类库有:JSON-Java.Gson.Jackson.FastJson等 一.Gson的基本用法 Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化:同时每个方法都提供了重载方法 (1)基本数据类型的解析 Gson gson = new Gson(); double d = gson.fro…
Java对象和Json之间的互转,一般用的比较多的两个类库是Jackson和Gson,下面记录一下Gson的学习使用. 基础概念:  Serialization:序列化,使Java对象到Json字符串的过程.  Deserialization:反序列化,字符串转换成Java对象   使用Maven管理Gson,pom.xml导入gson的依赖 <dependency> <groupId>com.google.code.gson</groupId> <artifac…
原文出处: 怪盗kidou 注:此系列基于Gson 2.4. 本次文章的主要内容: TypeAdapter JsonSerializer与JsonDeserializer TypeAdapterFactory @JsonAdapter注解 TypeAdapter与 JsonSerializer.JsonDeserializer对比 TypeAdapter实例 结语 后期预告 一.TypeAdapter TypeAdapter 是Gson自2.0(源码注释上说的是2.1)开始版本提供的一个抽象类,…
原文出处: 怪盗kidou 注:此系列基于Gson 2.4. 本次的主要内容: 字段过滤的几种方法 基于@Expose注解 基于版本 基于访问修饰符 基于策略(作者最常用) POJO与JSON的字段映射规则 一.字段过滤的几种方法 字段过滤Gson中比较常用的技巧,特别是在Android中,在处理业务逻辑时可能需要在设置的POJO中加入一些字段,但显然在序列化的过程中是不需要的,并且如果序列化还可能带来一个问题就是 循环引用 ,那么在用Gson序列化之前为不防止这样的事件情发生,你不得不作另外的…
JSON (官网) 是一种文本形式的数据交换格式,它比XML更轻量.比二进制容易阅读和编写,调式也更加方便.其重要性不言而喻.解析和生成的方式很多,Java中最常用的类库有:JSON-Java.Gson.Jackson.FastJson等. 注:此系列基于Gson 2.4. 对Gson使用很自信的大大可以点击关闭啦. 本篇文章的主要内容: Gson的基本用法 属性重命名 @SerializedName 注解的使用 Gson中使用泛型 一.Gson的基本用法 Gson提供了fromJson() 和…
Google 的 Gson 库,Gson 是一个非常强大的库,可以将 JSON 格式的数据转化成 Java 对象,也支持将 Java 对象转成 JSON 数据格式. Gson 依赖 本文将会快速开始使用 Gson 进行序列化操作.由于很多读者都是 Android 开发人员,我们会提供 Java 环境中的 Gson.在开始之前,我们需要引入 Gson 库到自己的项目中,最新的版本是 2.8.0. Gradle 项目添加 compile 'com.google.code.gson:gson:2.8.…
前言 最近在研究Retrofit中使用的Gson的时候,发现对Gson的一些深层次的概念和使用比较模糊,所以这里做一个知识点的归纳整理. Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象.而JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,广泛应用于各种数据的交互中,尤其是服务器与客户…
Gson基本用法 参考:http://www.jianshu.com/p/e740196225a4 Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化. //基本数据类型的解析 int i = gson.fromJson("100", int.class); //100 boolean b = gson.fromJson("true", boolean.class); // true String…
GSON简介 GSON是Google开发的Java API,用于转换Java对象和Json对象,我在这里将记录一下GSON的简单使用 下载GSON 我们可以在其github仓库中下载,也可以使用Maven下载 <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <…
1.问题描述 首先,需要解析的Json数据类似于下面的格式,但是包含了Java关键字abstract: { ret: 0, msg: "normal return.", news: [ { id: "NEW2016062800875700", from: "腾讯新闻客户端", qqnews_download_url: "http://inews.qq.com/m?refer=openapi_for_xiaotiancai",…
之前项目用到了gson对json和Java类之间互转,现在将gson的配置总结一下. 首先,创建gson对象之间,建立gsonbuilder对象,并配置 // 不导出实体类中没有用@Expose注解的属性 gbuilder.excludeFieldsWithoutExposeAnnotation() // 支持Map的key为复杂对象的形式 gbuilder.enableComplexMapKeySerialization() // 格式化date型 gbuilder.setDateFormat…
一.常用json解析库比较及选择 1.简介 fastjson和gson是目前比较常用的json解析库,并且现在我们项目代码中,也在使用这两个解析库. fastjson 是由阿里开发的,号称是处理json效率最高的框架.而gson 是由google开发的,是功能比较全面的json解析工具. 2.比较 下面根据体积.性能.调用方式.文档完备程度等几个方面,来比较一下这两个库. 2.1 包体积 都使用当前最新版本的jar包,fastjson-1.1.56.android.jar 为209.7kb,gs…
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. 添加依赖 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.4</version> </dependen…
注:此系列基于Gson 2.4. 一.Gson的基本用法 Gson提供了fromJson() 和toJson() 两个直接用于解析和生成的方法,前者实现反序列化,后者实现了序列化.同时每个方法都提供了重载方法,我常用的总共有5个. 基本数据类型的解析 Gson gson = new Gson(); int i = gson.fromJson("100", int.class); //100 double d = gson.fromJson("\"99.99\&quo…
当Json数据中的key为Java关键字时,在定义实体类的时候不能对该字段进行声明,所以需要对字段进行特殊处理 使用Gson解析 在与Java关键字冲突的字段加上@SerializedName注解 @SerializedName("abstract") private String abstractX; 使用Jackson解析 在与Java关键字冲突的字段加上@JsonProperty注解 @JsonProperty("abstract") private Stri…
1.概述 这篇文章主要讲述了Gson的使用.包括从最基础的基本类型的序列化,到对象,数组,集合,再到Gson注解,Gson Builder,再到格式化,自定义序列化与反序列化等内容. 另外文章篇幅较长,建议挑选所需部分查看.所有例子都提供了完整源码,在文章的后面. 2.Gson是什么? (1)JSON JSON全称为JavaScript Object Notation,一种轻量级的数据交换格式. 类似于XML但比XML更小,更易解析. (2)Gson Gson是Google提供的可以使Java对…
最近在项目中遇到这么一个问题,我们后台需要向前端返回一个 json 数据,就是将一个地理位置对象以json的格式返回到前台,但是这个地理位置对象中的经纬度是Double数据类型,项目中规定,如果经纬度的值是double的默认值,那么返回0,而不是返回0.0,而我处理json一般使用的Gson来处理,如果简单的直接使用 new Gson().toJson(obj) 这种形式,那么是达不到我们想要的结果,因此我们需要自定义 Gson 的序列化来实现我们想要的结果,而 Gson 的TypeAdapte…
转 https://www.jianshu.com/p/75a50aa0cad1 GSON弥补了JSON的许多不足的地方,在实际应用中更加适用于Java开发.在这里,我们主要讲解的是利用GSON来操作java对象和json数据之间的相互转换,包括了常见的对象序列化和反序列化的知识. 一.前言 因为json有2种类型: 一种是对象,object -> {key:value,key:value,...} . 另一种是数组,array -> [value,value,...] . 所以针对这两种类型…
项目前后端交互采用的是JSON传输,因为前后端沟通不多,经常造成数据格式不统一:在不想后台改动太多下,需要使用@SerializedName解决这个问题 解析数据使用的是Gson解析的json数据 @SerializedName(value = "name", alternate = {"Name", "studentName", "fullName"})中有两个属性,value="默认key",alter…
github上的博客地址: http://chuyun923.github.io/blog/2015/01/06/gsonyuan-ma-fen-xi/ XML和Json作为最常用的两种网络传输格式而被广泛使用,XML在早期数据传输中作为首选,但是近年来Json以其轻量级和更容易编写和解析而越来越流行,Gson作为google的一个开源Json解析框架提供了稳定和快速解析的功能,可以读读它的源代码了解一番. 说到Gson,其实它无非就是做两个工作,序列化(Object--->JsonString…