json在线解析(json在线解析工具)

IT技术2年前 (2023)发布 投稿用户
0

json在线解析:https://www.sojson.com/

json

json在线解析工具

1.Google的Gson(结构描述摘自http://www.cnblogs.com/kunpengit/p/4001680.html)
Gson是现在功用最全的Json解析神器,Gson最初是为因应Google公司内部需求而由Google自行研发而来,
但自从在2008年五月揭露发布第一版后已被许多公司或用户运用。
Gson的运用主要为toJson与fromJson两个转化函数,无依靠,不需求例外额外的jar,能够直接跑在JDK上。
而在运用这种目标转化之前需先创建好目标的类型以及其成员才能成功的将JSON字符串成功转化成相对应的目标。
类里面只要有get和set办法,Gson完全可以将杂乱类型的json到bean或bean到json的转化,是JSON解析的神器。
Gson在功用上面无可挑剔,可是性能上面比FastJson有所差距。
2.阿里巴巴的FastJson
Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。
无依靠,不需求例外额外的jar,能够直接跑在JDK上。
FastJson在杂乱类型的Bean转化Json上会呈现一些问题,可能会呈现引证的类型,导致Json转化犯错,需求制定引证。
FastJson选用独创的算法,将parse的速度提升到极致,超越所有json库。
Gson、FastJson到底哪一个功率更高,速度更快?(功率比较摘自http://blog.csdn.net/zml_2015/article/details/52165317)
来个单元测试:
循环50次再求平均值:
@org.junit.Test
publicvoidTestSpeed()throwsException{
Listfoods=foodDao.selectAll(Foods.class);
System.out.println(“————-gson———–“);
longgsonStart=System.currentTimeMillis();
gsonC(foods);//用Gson进行拆包和解析并循环操作50次
longgsonEnd=System.currentTimeMillis();
System.out.println(“gsonGaps:”+(gsonEnd-gsonStart)/50);
System.out.println(“————-gson———–“);
System.out.println(“————-FastJson———–“);
longfastStart=System.currentTimeMillis();
fastJsonC(foods);//用FastJson进行拆包和解析并循环操作50次
longfastEnd=System.currentTimeMillis();
System.out.println(“gsonGaps:”+(fastEnd-fastStart)/50);
System.out.println(“————-FastJson———–“);
System.out.println(“————-JSON———–“);
longjsonStart=System.currentTimeMillis();
jsonC(foods);//用org.json进行拆包和解析并循环操作50次
longjsonEnd=System.currentTimeMillis();
System.out.println(“gsonGaps:”+(jsonEnd-jsonStart)/50);
System.out.println(“————-JSON———–“);
}
调用的办法有必要是synchronized同步的,即运行完该办法后才执行下面的代码
privatesynchronizedvoidjsonC(Listfoods)throwsException{
for(intj=0;j<50;j++){
StringjsonString=JsonTools.createJsonString(“json”,foods);
JSONObjectobject=newJSONObject(jsonString);
JSONArrayarray=object.getJSONArray(“json”);
Listlist2=newArrayList();
for(inti=0;i<array.length();i++){
JSONObjectfoodObject=(JSONObject)array.get(i);
Foodsfoods2=newFoods(foodObject.getInt(“id”),
foodObject.getString(“cookclass”),
foodObject.getString(“name”),
foodObject.getString(“description”),
foodObject.getString(“food”),
foodObject.getString(“img”),
foodObject.getString(“images”),
foodObject.getString(“keywords”),
foodObject.getString(“message”),
foodObject.getString(“url”));
list2.add(foods2);
}
Strings3=list2.toString();
}
}
privatesynchronizedvoidfastJsonC(Listfoods){
for(inti=0;i<50;i++){
StringfastString=FastJsonTools.createJsonString(foods);
Strings2=FastJsonTools.createJsonToListBean(fastString,
Foods.class).toString();
}
}
privatesynchronizedvoidgsonC(Listfoods){
for(inti=0;i<50;i++){
StringgsonString=GsonTools.createJsonString(foods);
Strings1=GsonTools.StringTolist(gsonString,Foods[].class)
.toString();
}
}
然后贴一下解析1万条数据、2万条数据和100条数据各个类库所用的的平均时刻(这个时刻不包括查询数据库所用的时刻)
1.1万
2.2万
3.100条
经过这次测试之后,确实验证了阿里巴巴的FastJson相对来说是挺快的。由于fastjson在杂乱类型的Bean转化Json上会呈现一些问题,可能会呈现引证的类型,导致Json转化犯错,所以我决议仍是fastjson和gson并用,
不要求功率的话就用gson,要求高功率的话就用fastjson。

© 版权声明
好牛新坐标 广告
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章