Gson反序列json到实体类
gson在基准测试过程中各项性能接近于Jackson(具体可以看Benchmark of Java JSON libraries)里面的测试,
本人亲测过,实测结果与他的数据一致,Jackson安全性以及性能稳定性毋庸置疑。
笔者当初连续遇到过fastjson多个bug,最终放弃他,投入Jackson怀抱;但是Jackson api使用起来配置比较多。
也就是api不够简洁,有些场景我的json很简单,只需要从json到实体之间互相转换(序列化与反序列化)。
gson的api比较简单,也是这篇文章的由来,以下是反序列化代码。
@SerializedName用来指明json中与实体字段名不一致问题。
import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/***
* ASR服务器状态
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ASRServerStatus { /***
* 当前空闲的worker数目
*/
@SerializedName("num_workers_available")
private Integer availWorkers; //以下字段后续在python服务器端采集上来加入,目前接口返回数据中还没有相关字段 /***
* 已经处理的任务数
*/
@SerializedName("num_requests_processed")
private Integer processedRequests; /***
* 服务器负载 1分钟
*/
private Float load1; /***
* 服务器负载 5分钟
*/
private Float load5; /***
* 服务器负载 15分钟
*/
private Float load15; private Float totalMem; /***
* Cached/Shared Memory
*/
private Float sharedMem; /***
* 通过公式计算获得: total-buff-used
*/
private Float availMem; private Float usedMem;
}
import com.google.gson.Gson;
import com.netmarch.web.open.ws.ASRServerStatus;
import org.junit.Test; public class TestGson {
@Test
public void deserial()
{
String json ="{\"num_workers_available\": 9, \"num_requests_processed\": 61}";
Gson gson =new Gson();
ASRServerStatus status = gson.fromJson(json, ASRServerStatus.class);
System.out.println(status);
}
}
结果:

Gson反序列json到实体类的更多相关文章
- 记录--Gson、json转实体类、类转json
		需要导入Gson jar包 最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库. 发现了google的gson ... 
- xml转json和实体类的两种方式
		本文为博主原创,未经允许不得转载: xml在http通信中具有较高的安全性和传输速度,所以应用比较广泛, 在项目中往往需要对xml,json和实体类进行相互转换,在这里总结一下自己所用到的一些方法: ... 
- Visual Studio 2015 将json转换为实体类
		最新写的一个接口需要接收json参数,然后序列化为实体类然后再进行后面的逻辑处理.因为json中键值对比较多,逐一去手写实体中的每个属性太麻烦,于是寻思是否有这样的工具可以将json转换为实体类. 经 ... 
- com.google.gson的SerializedName解决实体类与关键字的重名
		使用google的gson包,解决实体类中字段与java关键字的重名: // 比如 当实体类中有switch关键字时,解决冲突如下 @SerializedName("switch" ... 
- fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题
		fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题 
- 实体类转json 和 json转实体类
		1.new JSONObject().toJSONString(rootEntity) JSONObject.toJSONString(specPrices)//specPrices实体类 2. ... 
- JSON反序列化实体类
		1.定义实体类 [DataContract] public class CustomerWordOrderViewModel { [DataMember] public string Name; [D ... 
- Jackson解析自定义json到实体类
		json文本 { "status": 0, "result": { "final": true, "hypotheses" ... 
- json转实体类
		VS快速生成JSON数据格式对应的实体 Json生成类在线生成工具 http://tool.sufeinet.com/Creater/JsonClassGenerator.aspx http://js ... 
随机推荐
- IDEA的安装和使用
			IDEA的特色功能 IDEA所提倡的是智能编码,是减少程序员的工作,IDEA的特色功能有以下22点 [1] : ● 智能的选取 在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类 ... 
- 【DP入门到入土】
			DP例题较多,可以根据自己需求食用~ update:下翻有状压DP入门讲解,也只有讲解了(逃~ DP的实质,就是状态的枚举. 一般用DP解决的问题,都是求计数或最优问题,所以这类问题,我们也可以用搜索 ... 
- Kafka  kSQL sql查询
			背景 kafka早期作为一个日志消息系统,很受运维欢迎的,配合ELK玩起来很happy,在kafka慢慢的转向流式平台的过程中,开发也慢慢介入了,一些业务系统也开始和kafka对接起来了,也还是很受大 ... 
- javaweb上传文件夹
			我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有大小 ... 
- C# 中文序列按笔画排序
			问题:给定一串含中文的序列,按首字符的笔画数排序 因为默认是按拼音来排序的, 借助Globalization命名空间,包含定义区域性相关信息的类,这些信息包括语言,国家/地区,正在使用的日历,日期.货 ... 
- 边框图片border-image
			一.定义: 在内容变化的容器里使用,边框自动填充,由于浏览器的兼容问题,没有广泛使用 border-image属性是速记属性用于设置 border-image-source, border-image ... 
- 14、master原理与源码分析
			一.主备切换机制原理剖析 1.图解 2.部分源码 ###master.scala中的completeRecovery方法: /* * 完成Master的主备切换 */ def completeReco ... 
- (25)打鸡儿教你Vue.js
			vue-cli // 全局安装 vue-cli npm install --global vue-cli // 创建一个基于 webpack 模板的新项目 vue init webpack my-pr ... 
- Leetcode32. 最长有效括号
			32. 最长有效括号 做法 \(f_{i}\)以\(i\)结尾的最长匹配 前提为\(s[i]=')'\) \(s[i-1]='('\),则\(f[i]=f[i-2]+2\) \(s[i-1]=')'\ ... 
- nginx+keepalived高可用实战
			1.整体架构图如下 2.环境准备 今天所配置的是keepalived+nginx 的负载均衡 下载keepalived软件 [root@LB01 tools]# wget http://www.kee ... 
