常用的三种json软件的使用
从几个角度比较三种软件
1. json操作
2 反解
3 性能
易用性还没有列出。
可以根据个人喜好进行取舍。
package json; import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;
import lombok.Data; public class JsonTest {
public static void main(String[] args) throws Exception{
testFastjson();
testJackson();
testGson();
} public static Person getPerson(String name, int age){
Person person = new Person();
person.setAge(age);
person.setName(name);
return person;
}
public static void testFastjson(){
long startTime = System.currentTimeMillis();
String jsonstr = "";
Person person1 = getPerson("a",1);
for (int i =0;i < 100000;i++){
jsonstr = JSON.toJSONString(person1);
Person person = JSON.parseObject(jsonstr, Person.class);
}
System.out.println("fastjson cost:"+(System.currentTimeMillis()-startTime));
System.out.println(jsonstr);
} public static void testJackson() throws Exception{ long startTime = System.currentTimeMillis(); String jsonstr = "";
Person person1 = getPerson("a",1); ObjectMapper mapper = new ObjectMapper(); for (int i =0;i < 100000;i++){
jsonstr = mapper.writeValueAsString(person1);
Person person = mapper.readValue(jsonstr, Person.class);
}
System.out.println("jackson cost:"+(System.currentTimeMillis()-startTime));
System.out.println(jsonstr);
} public static void testGson(){
long startTime = System.currentTimeMillis(); String jsonstr = "";
Person person1 = getPerson("a",1); Gson gson = new Gson(); for (int i =0;i < 100000;i++){
jsonstr = gson.toJson(person1);
Person person = gson.fromJson(jsonstr, Person.class);
}
System.out.println("gson cost:"+(System.currentTimeMillis()-startTime));
System.out.println(jsonstr);
}
} @Data
class Person{
private String name;
private int age;
}
常用的三种json软件的使用的更多相关文章
- 国内常用的三种框架:ionic/mui/framework7对比
国内常用的三种框架:ionic/mui/framework7对比 原文连接:http://zhihu.com/question/19558750/answer/91179040
- C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()
本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该 ...
- PHP常用的三种设计模式
本文为大家介绍常用的三种php设计模式:单例模式.工厂模式.观察者模式,有需要的朋友可以参考下. 一.首先来看,单例模式 所谓单例模式,就是确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实 ...
- Linux 操作系统常用的三种流012
Linux 操作系统常用的三种流: 0 标准输入流 1 标准输出流 2 标准错误流 通常在写脚本启动程序,写log时候,会出现如下写法: nohup commod > log.txt 2> ...
- 请写出JavaScript中常用的三种事件。
请写出JavaScript中常用的三种事件. 解答: onclick,onblur,onChange
- 本文将介绍“数据计算”环节中常用的三种分布式计算组件——Hadoop、Storm以及Spark。
本文将介绍“数据计算”环节中常用的三种分布式计算组件——Hadoop.Storm以及Spark. 当前的高性能PC机.中型机等机器在处理海量数据时,其计算能力.内存容量等指标都远远无法达到要求.在大数 ...
- Jquery 页面初始化常用的三种方法以及Jquery 发送ajax 请求
第一种 $(document).ready(function(){ //文档就绪事件 }); 第二种是第一种的简略写法,效果上和第一种是等效的. $(function(){ //文档加载事件,整个文档 ...
- JS常用的三种匿名函数
第一种: var f1=function(p1,p2){ return p1+p2; };//将函数赋值给一个变量 alert(f1(1,3)); 匿名函数没法调用,只能赋值给一个变量,由于是赋值语句 ...
- selenium常用的三种等待方式
一.强制等待 使用方法:sleep(X),等待X秒后,进行下一步操作. 第一种也是使用最简单的一种办法就是强制等待sleep(X),强制让浏览器等待X秒,不管当前操作是否完成,是否可以进行下一步操作, ...
随机推荐
- 第十二章 Java内存模型与线程
Java内存模型(Java Memory Model,JMM): 主内存与工作内存:Java内存模型主要是定义程序中各个变量的访问规则.Java内存模型规定了所有的变量都存储在主内存(Main Mem ...
- Redis Sentinel实现高可用配置
一般情况下yum安装redis的启动目录在:”/usr/sbin” :配置目录在”/etc/redis/”在其目录下会有默认的redis.conf和redis-sentinel.conf redis高 ...
- Android 开发 关于APP无法安装到Android模拟器上的问题
我们在创建一个app后,打算安装到Android模拟器上.可能会出现无法安装,或者提示已经安装无法卸载的问题.这个时候需要添加兼容CPU. 选择 build.gradle 文件打开添加如下代码: an ...
- (23/24) webpack实战技巧:如何在webpack环境中使用Json
在webpack1或者webpack2版本中,若想在webpack环境中加载Json文件,则需要加载一个json-loader的loader进来的.但是在webpack3.x版本中,则不需要在另外引入 ...
- 打造适合自己的vim编辑器方法总结
vim使用方法总结 说明:这是打造适合自己的vim编辑器的进阶方法,关于vim基础知识,请自行百度.也可参考文章末尾推荐blog网址 如果觉得自己打造vim编辑器麻烦,可以从github上面克隆一个, ...
- 解决Windows下mysql无法启动1067错误
解决过程 查看服务发现mysql未启动 用cmd命令行启动提示启动失败 错误代码1067 打开时间查看器发现mysql错误记录信息为Fatal error: Can't open and lock ...
- python使用xlrd, xlwt读取excel文件和 写入excel文件
python 3.6 首先在cmd下执行安装指令 xlre和xlwt : pip install xlre pip install xlwt #-*- coding: utf8 -*-im ...
- 树莓派3使用openSUSE Ports 42.3 驱动GPIO注意事项
安装好opensuse 42.3以后,安装wiringPi库. 由于/proc/cpuinfo文件缺少“Hardware”信息,导致出现如下错误: Oops: Unable to determine ...
- Linux连接虚拟机及操作指令
Linux的安装(虚拟机环境)与基础配置 一.背景 本文介绍如何安装虚拟机VMware以及如果在虚拟机上安装Linux系统以及Linux安装完毕之后的基础配置 需要准备的东西有VMware以及Li ...
- SpringBoot之Swagger2
SpringBoot利用Swagger2只需配置少量的注解信息便能方便地构建强大的API文档. 1.添加maven依赖 2.创建Swagger2配置类 3.在API添加文档内容 4.访问http:// ...