java jackson 性能_Jackson和fastjson简单用法及性能对比

背景:

Java处理JSON数据有三个比较流行的类库FastJSON、Gson和Jackson。fastjson是阿里做的国有开源Java工具包,jackson是spring mvc内置的json转换工具,孰强孰弱呢?

1 Json基本介绍

JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。

1.1 Json两种结构

JSON有两种表示结构,对象和数组。

对象结构以”{”大括号开始,以”}”大括号结束。中间部分由0或多个以”,”分隔的”key(关键字)/value(值)”对构成,关键字和值之间以”:”分隔,语法结构如代码。

{

key1:value1,

key2:value2,

...

}

其中关键字是字符串,而值可以是字符串,数值,true,false,null,对象或数组。

数组结构以”[”开始,”]”结束。中间由0或多个以”,”分隔的值列表组成,语法结构如代码。

[

{

key1:value1,

key2:value2

},

{

key3:value3,

key4:value4

}

]

1.2字符串和Json表示方式

字符串:指使用“”双引号或’’单引号包括的字符。

例如:var comStr = ‘this is string’;

json字符串:指的是符合json格式要求的js字符串。

例如:var jsonStr = “{StudentID:’100’,Name:’tmac’,Hometown:’usa’}”;

json对象:指符合json格式要求的js对象。

例如:var jsonObj = { StudentID: “100”, Name: “tmac”, Hometown: “usa” };

2 几种简单的Json库使用方式

2.1 jackson使用

使用的jar包:

jackson-mapper-asl-1.8.11.jar

jackson-core-2.5.1.jar

jackson-databind-2.4.5.jar

也可是使用maven源配置。

一个简单的bean类:

packagecom.mmall.pojo;importlombok.Data;/*** Created by sww_6 on 2018/8/24.*/@Datapublic classUsers {privateString username;privateInteger age;

}

java对象到json字符串(序列化):

packagecom.mmall.common;importcom.mmall.pojo.Users;importjava.io.IOException;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importorg.codehaus.jackson.map.ObjectMapper;/*** Created by sww_6 on 2018/8/24.*/

public classBeanToJson {public static voidmain(String[] args) {//将对象转成json字符串

Users users = newUsers();

users.setAge(18);

users.setUsername("魏璎珞");

ObjectMapper objectMapper= newObjectMapper();try{

String jsonString=objectMapper.writeValueAsString(users);

System.out.println(jsonString);

}catch(IOException e) {

e.printStackTrace();

}//将list集合转换成json字符串

Users user2 = newUsers();

user2.setAge(18);

user2.setUsername("沉壁");

Users user3= newUsers();

user3.setAge(18);

user3.setUsername("永琪");

List jsonList = new ArrayList<>();

jsonList.add(us

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值