Json反序列化物件通用工具類
一、json需要依賴的包
jackson.version可以參考地址:http://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core
<!-- jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
二、json反序列化工具類
import java.io.IOException;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonUtils {
// 定義jackson物件
private static final ObjectMapper MAPPER = new ObjectMapper();
static {
// 忽略JSON中沒有的欄位,防止反序列化物件的時候報找不到屬性欄位的異常
MAPPER.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
// 如果json字串中含有新行時,加上這個
MAPPER.configure(JsonParser.Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true);
//空值轉換異常
MAPPER.configure(JsonParser.Feature.ALLOW_COMMENTS, true) ;
}
/**
* 將物件轉換成json字串。
* <p>
* Title: pojoToJson
* </p>
* <p>
* Description:
* </p>
*
* @param data
* @return
*/
public static String objectToJson(Object data) {
try {
String string = MAPPER.writeValueAsString(data);
return string;
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* 將json結果集轉化為物件
*
* @param jsonData
* json資料
* @param clazz
* 物件中的object型別
* @return
*/
public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {
try {
T t = MAPPER.readValue(jsonData, beanType);
return t;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 將json資料轉換成pojo物件list
* <p>
* Title: jsonToList
* </p>
* <p>
* Description:
* </p>
*
* @param jsonData
* @param beanType
* @return
*/
public static <T> List<T> jsonToList(String jsonData, Class<T> beanType) {
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
try {
List<T> list = MAPPER.readValue(jsonData, javaType);
return list;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* json字串轉Map集合
* @param jsonStr
* @return
* @throws IOException
*/
@SuppressWarnings("unchecked")
public static Map<String, Object> parseMap(String jsonStr) throws IOException {
Map<String, Object> map = MAPPER.readValue(jsonStr, Map.class);
return map;
}
/**
* json字串轉List集合
* @param jsonStr
* @return
* @throws IOException
*/
public static List<String> parseList(String jsonStr) throws IOException {
return MAPPER.readValue(jsonStr, new TypeReference<List<String>>() {});
}
}
相關文章
- JavaScript物件序列化為JSONJavaScript物件JSON
- python json反序列化為物件PythonJSON物件
- Java物件的序列化與反序列化-Json篇Java物件JSON
- 常用Json工具類JSON
- Json工具類----JacksonJSON
- Excel通用類工具(二)Excel
- elasticsearch通用工具類Elasticsearch
- C++ 輕量級物件JSON序列化實現C++物件JSON
- JSON繼承JsonConverter序列化與反序列化重寫類屬性JSON繼承
- 類轉詞典 轉json 序列化 魔術方法JSON
- C#中實現JSON功能及物件的序列化和反序列化C#JSON物件
- XML轉化為json工具類XMLJSON
- Mybatis騷操作-通用查詢工具類MyBatis
- 序列化: 一個老傢伙的鹹魚翻身(Java物件、XML、JSON、反序列化)Java物件XMLJSON
- JSON-B:簡化 JSON 序列化和反序列化JSON
- Kotlin Json 序列化KotlinJSON
- Java讀取Json檔案工具類JavaJSON
- 物件序列化(序列化)物件
- JSON 物件JSON物件
- C# 中使物件序列化/反序列化 Json 支援使用派生型別以及泛型的方式C#物件JSON型別泛型
- Newtonsoft.Json序列化JSON字串問題JSON字串
- 建立獲取Springbean物件工具類SpringBean物件
- fastjson: json物件,json物件陣列,javabean物件,json字串之間的相互轉化ASTJSON物件陣列JavaBean字串
- Flutter中JSON序列化與反序列化FlutterJSON
- C#序列化和反序列化(json)C#JSON
- 基於protostuff的序列化工具類開發
- JSON 物件——05JSON物件
- 把JSON資料格式轉換為Python的類物件JSONPython物件
- C# Json反序列化C#JSON
- 七牛雲java(服務端)通用工具類Java服務端
- JavaScript 物件序列化JavaScript物件
- 簡單介紹C#使用物件序列化類庫MessasgePackC#物件
- Jaskson精講第7篇-類繼承關係下的JSON序列化與反序列化JsonTypeInfo繼承JSON
- Json物件與Json字串互轉JSON物件字串
- json例項練習 json物件JSON物件
- 序列化和反序列化pickle和json 模組JSON
- 學習javaScript必知必會(6)~類、類的定義、prototype 原型、json物件JavaScript原型JSON物件
- 是否存在JSON物件JSON物件