jackson進行json序列化和反序列化
package com.csair.soc.aircrew.rostereditor.util;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
public abstract class JacksonUtil {
public static final ObjectMapper OM = new ObjectMapper();
static{
OM.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}
public static <T> T getData(byte[] o) {
T data = null;
try {
data = OM.readValue((byte[]) o, new TypeReference<T>(){});
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
public static <T> T getData(byte[] o,TypeReference<T> typeReference) {
T data = null;
try {
data = OM.readValue((byte[]) o, typeReference);
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
public static byte[] toBytes(Object mb) {
byte[] bytes = null;
try {
bytes = OM.writeValueAsBytes(mb);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return bytes;
}
public static String toString(Object mb) {
String bytes = null;
try {
bytes = OM.writeValueAsString(mb);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return bytes;
}
public static <T> T getData(String jsonStr,TypeReference<T> typeReference) {
T data = null;
try {
data = OM.readValue(jsonStr, typeReference);
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
public abstract class JacksonUtil {
public static final ObjectMapper OM = new ObjectMapper();
static{
OM.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}
public static <T> T getData(byte[] o) {
T data = null;
try {
data = OM.readValue((byte[]) o, new TypeReference<T>(){});
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
public static <T> T getData(byte[] o,TypeReference<T> typeReference) {
T data = null;
try {
data = OM.readValue((byte[]) o, typeReference);
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
public static byte[] toBytes(Object mb) {
byte[] bytes = null;
try {
bytes = OM.writeValueAsBytes(mb);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return bytes;
}
public static String toString(Object mb) {
String bytes = null;
try {
bytes = OM.writeValueAsString(mb);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return bytes;
}
public static <T> T getData(String jsonStr,TypeReference<T> typeReference) {
T data = null;
try {
data = OM.readValue(jsonStr, typeReference);
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
}
jackson的pom依賴配置如下
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.4</version>
</dependency>
user是個實體,進行json序列化
String str = JacksonUtil.toString(user);
System.out.println(str);
從json字串反序列化獲取實體
user = JacksonUtil.getData(str, new TypeReference<User>() {
});
相關文章
- json - 使用jackson進行序列化/反序列化JSON
- 用Jackson自定義JSON反序列化JSON
- 序列化和反序列化pickle和json 模組JSON
- 使用 Jackson 序列化和反序列化 java.sql.BlobJavaSQL
- C#序列化和反序列化(json)C#JSON
- JSON-B:簡化 JSON 序列化和反序列化JSON
- 在C#中使用Json.Net進行序列化和反序列化及定製化C#JSON
- JSON 物件序列化、反序列化JSON物件
- Jackson多型序列化多型
- 使用jackson序列化物件物件
- python 學習 -- json的序列化和反序列化PythonJSON
- [.net 物件導向程式設計進階] (12) 序列化(Serialization)(四) 快速掌握JSON的序列化和反序列化物件程式設計JSON
- jackson對日期的處理(序列化與反序列化)
- jackson序列化與反序列化的應用實踐
- Java序列化與反序列化(原生方式與Jackson方式)Java
- Python常用標準庫(pickle序列化和JSON序列化)PythonJSON
- Flutter中JSON序列化與反序列化FlutterJSON
- C# 序列化與反序列化jsonC#JSON
- Jackson 庫中@JsonProperty和@JsonAlias註解實現序列化反序列化JSON
- jackson對Exception型別物件的序列化與反序列化Exception型別物件
- Jackson Redisson反序列化問題Redis
- JSON資料處理框架Jackson精解第一篇-序列化與反序列化核心用法JSON框架
- C# Json 序列化與反序列化一C#JSON
- C# Json 序列化與反序列化二C#JSON
- Java物件的序列化與反序列化-Json篇Java物件JSON
- Kotlin Json 序列化KotlinJSON
- django不使用序列化器來進行查詢結果序列化Django
- json格式的字串序列化和反序列化的一些高階用法JSON字串
- C#中實現JSON功能及物件的序列化和反序列化C#JSON物件
- 在Springboot + Mybaitis-plus 專案中利用Jackson實現json對java多型的(反)序列化Spring BootAIJSONJava多型
- JavaScript物件序列化為JSONJavaScript物件JSON
- C# Json反序列化C#JSON
- Java Json API:Gson序列化JavaJSONAPI
- Jackson序列化日期型別的屬性型別
- Java的序列化和反序列化Java
- C++ 序列化和反序列化C++
- Newtonsoft.Json序列化和反序列JSON
- Python學習——序列化與反序列化-json&picklePythonJSON