从几个角度比较三种软件

  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软件的使用的更多相关文章

  1. 国内常用的三种框架:ionic/mui/framework7对比

    国内常用的三种框架:ionic/mui/framework7对比 原文连接:http://zhihu.com/question/19558750/answer/91179040

  2. C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

    本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该 ...

  3. PHP常用的三种设计模式

    本文为大家介绍常用的三种php设计模式:单例模式.工厂模式.观察者模式,有需要的朋友可以参考下. 一.首先来看,单例模式 所谓单例模式,就是确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实 ...

  4. Linux 操作系统常用的三种流012

    Linux 操作系统常用的三种流: 0 标准输入流 1 标准输出流 2 标准错误流 通常在写脚本启动程序,写log时候,会出现如下写法: nohup commod > log.txt 2> ...

  5. 请写出JavaScript中常用的三种事件。

    请写出JavaScript中常用的三种事件. 解答: onclick,onblur,onChange

  6. 本文将介绍“数据计算”环节中常用的三种分布式计算组件——Hadoop、Storm以及Spark。

    本文将介绍“数据计算”环节中常用的三种分布式计算组件——Hadoop.Storm以及Spark. 当前的高性能PC机.中型机等机器在处理海量数据时,其计算能力.内存容量等指标都远远无法达到要求.在大数 ...

  7. Jquery 页面初始化常用的三种方法以及Jquery 发送ajax 请求

    第一种 $(document).ready(function(){ //文档就绪事件 }); 第二种是第一种的简略写法,效果上和第一种是等效的. $(function(){ //文档加载事件,整个文档 ...

  8. JS常用的三种匿名函数

    第一种: var f1=function(p1,p2){ return p1+p2; };//将函数赋值给一个变量 alert(f1(1,3)); 匿名函数没法调用,只能赋值给一个变量,由于是赋值语句 ...

  9. selenium常用的三种等待方式

    一.强制等待 使用方法:sleep(X),等待X秒后,进行下一步操作. 第一种也是使用最简单的一种办法就是强制等待sleep(X),强制让浏览器等待X秒,不管当前操作是否完成,是否可以进行下一步操作, ...

随机推荐

  1. WPF xml配置文件里面的大于小于号转义

    转义字符:<![CDATA[]]>,将要转义的字符放到中括号中,比如要转小于号:<,则换为<![CDATA[<]]> <?xml version=" ...

  2. Python全栈开发记录_第九篇(面向对象(类)的学习)

    有点时间没更新博客了,今天就开始学习类了,今天主要是面向对象(类),我们知道面向对象的三大特性,那就是封装,继承和多态.内容参考该博客https://www.cnblogs.com/wupeiqi/p ...

  3. Python的迭代器和生成器

    列表生成式 列表生成式可以快速创建list. >>> [x * x for x in range(1, 11) if x % 2 == 0] [4, 16, 36, 64, 100] ...

  4. (Python基础)字符编码与转码

    ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧 ...

  5. 使用K-means进行聚类,用calinski_harabaz_score评价聚类效果

    代码如下: """ 下面的方法是用kmeans方法进行聚类,用calinski_harabaz_score方法评价聚类效果的好坏 大概是类间距除以类内距,因此这个值越大越 ...

  6. js生成uuid

    前端不能像java一样有内置的uuid生成包,所以需要自己写一个function,每次调用这个函数都会生成一个不同的字符串,代码如下: getuuid() { var uid = []; var he ...

  7. 关于总结一些CentOS7常用的运维命令

    Centos7日常需要用的运维命令 1.删除0字节文件 find-type f -size 0 -exec rm -rf {} \ 2.查看进程 按内存从大到小排列 ps -e   -o " ...

  8. Unable to connect to MKS;Too many scoket connect attempts;giving up

    Unable to connect to MKS;Too many scoket connect attempts;giving up(无法连接到MKS;太多scoket连接尝试;放弃) 第一次学习虚 ...

  9. 用 ghostscript 转化PDF文件为图片 的参数设置

    example: gswin32 -dSAFER -dBATCH -dNOPAUSE -r300 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sDEVICE=jp ...

  10. lucene复合条件查询案例——查询name域 或 description域 包含lucene关键字的两种方式

    方式一:使用语法表达式查询 //查询name域 或 description域包含lucene关键字 QueryParser queryParser = new QueryParser("na ...