jack-databind,数据绑定包, 提供基于「对象绑定」 解析的相关 API ( ObjectMapper ) 和「树模型」 解析的相关 API (JsonNode);基于「对象绑定」 解析的 API 和「树模型」 解析的 API 依赖基于「流模式」解析的 API。
ObjectMapper 通过 writeValue()的系列方法可以将 Java 对象序列化为 JSON,并将 JSON 存储成不同的格式。
String (writeValueAsString)
Byte Array (writeValueAsBytes)
ObjectMapper 通过 readValue() 系列方法可以从不同的数据源(String、Bytes)将 JSON 反序列化为 Java 对象。
依赖
使用 Jackson 之前,需要先添加依赖。
<dependency><groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.1</version>
</dependency>
Jackson 工具类
public class JacksonUtil {private static ObjectMapper mapper = null;
/**
* bean 转换为 Json 字符串
*/
public static String bean2json(Object object){
mapper = new ObjectMapper();
try {
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(object);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* json 转换为 bean
*/
public static Object json2bean(String json,Class c){
mapper = new ObjectMapper();
try {
return mapper.readValue(json,c);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* list 转换为 Json 字符串
*/
public static String list2json(List list){
mapper = new ObjectMapper();
try {
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(list);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* json 转换为 list
*/
public static List json2List(String json){
mapper = new ObjectMapper();
try {
return mapper.readValue(json,List.class);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* set 转换为 Json 字符串
*/
public static String set2json(Set set){
mapper = new ObjectMapper();
try {
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(set);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* json 转换为 set
*/
public static Set json2Set(String json){
mapper = new ObjectMapper();
try {
return mapper.readValue(json,Set.class);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* map 转换为 Json 字符串
*/
public static String map2json(Map map){
mapper = new ObjectMapper();
try {
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(map);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* json 转换为 map
*/
public static Map json2Map(String json){
mapper = new ObjectMapper();
try {
return mapper.readValue(json,Map.class);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}