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到实体类的更多相关文章

  1. 记录--Gson、json转实体类、类转json

    需要导入Gson jar包 最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库. 发现了google的gson ...

  2. xml转json和实体类的两种方式

    本文为博主原创,未经允许不得转载: xml在http通信中具有较高的安全性和传输速度,所以应用比较广泛, 在项目中往往需要对xml,json和实体类进行相互转换,在这里总结一下自己所用到的一些方法: ...

  3. Visual Studio 2015 将json转换为实体类

    最新写的一个接口需要接收json参数,然后序列化为实体类然后再进行后面的逻辑处理.因为json中键值对比较多,逐一去手写实体中的每个属性太麻烦,于是寻思是否有这样的工具可以将json转换为实体类. 经 ...

  4. com.google.gson的SerializedName解决实体类与关键字的重名

    使用google的gson包,解决实体类中字段与java关键字的重名: // 比如 当实体类中有switch关键字时,解决冲突如下 @SerializedName("switch" ...

  5. fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题

    fastjson JSON.toJavaObject() 实体类首字母大写属性无法解析问题

  6. 实体类转json 和 json转实体类

    1.new JSONObject().toJSONString(rootEntity) JSONObject.toJSONString(specPrices)//specPrices实体类   2. ...

  7. JSON反序列化实体类

    1.定义实体类 [DataContract] public class CustomerWordOrderViewModel { [DataMember] public string Name; [D ...

  8. Jackson解析自定义json到实体类

    json文本 { "status": 0, "result": { "final": true, "hypotheses" ...

  9. json转实体类

    VS快速生成JSON数据格式对应的实体 Json生成类在线生成工具 http://tool.sufeinet.com/Creater/JsonClassGenerator.aspx http://js ...

随机推荐

  1. python链接oracle数据库以及数据库的增删改查实例

    初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...

  2. MySQL 优化之EXPLAIN详解(执行计划)

    学习MySQL时我们都知道索引对于一个SQL的优化很重要,而EXPLAIN关键字在分析是否正确以及高效的增加了索引时起到关键性的作用. 这篇文章显示了如何调用“EXPLAIN”来获取关于查询执行计划的 ...

  3. 安装node.js 和 npm 的完整步骤

    vue 生命周期 1,beforeCreate 组件刚刚被创建 2,created 组件创建完成 3,beforeMount 挂载之前 4,mounted 挂载之后 5,beforeDestory 组 ...

  4. https://www.cnblogs.com/myblogs-miller/p/9046425.html

    # SpringBoot中CommandLineRunner的作用> 平常开发中有可能需要实现在项目启动后执行的功能,SpringBoot提供的一种简单的实现方案就是添加一个model并实现Co ...

  5. 洛谷 P1966 火柴排队 题解

    归并排序 很玄学的一道题目,用另类的方法求出逆序对的数量就可以AC 我的思路是这样的: 按照题目,输入数据用两个数组a,b储存, 同时,用另外两个数组c,d分别对应前面两个a,b储存, 就是前面两个的 ...

  6. CODE FESTIVAL 2017 qual C 题解

    传送门 \(A\) 咕咕 const int N=15; char s[N];int n; int main(){ scanf("%s",s+1),n=strlen(s+1); f ...

  7. 微信小程序开源

    | UI组件 | | | | | | | | | weui-wxss ★1873 - 同微信原生视觉体验一致的基础样式库 | | | | | | zanui-weapp ★794 - 好用易扩展的小程 ...

  8. Vue.js 十五分钟入门

    本文经授权转载,仅用于学习,版权归原作者所有. TypeScript 为 JavaScript 带来静态类型检查,让 JavaScript 编写中大型应用的时候可以应用工具来避免部分错误. Vue 很 ...

  9. 数据结构实验之排序二:交换排序 (SDUT 3399)

    #include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long ll; ...

  10. 未公开函数 NtQuerySystemInfoMation 遍历进程信息,获得进程的用户名(如: system,Admin..)

    目录 遍历进程用户名 代码例子 遍历进程用户名 代码例子 #include <windows.h> #include <iostream> #include <COMDE ...