性能"/>
java jackson 性能
背景:
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.mmallmon;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
更多推荐
java jackson 性能
发布评论