You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.1 KiB
86 lines
2.1 KiB
package com.ynxbd.common.helper.common;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.TypeReference;
|
|
|
|
import java.util.List;
|
|
|
|
/**
|
|
* FastJson操作类
|
|
*/
|
|
public class JsonHelper {
|
|
|
|
public static String toJsonString(Object data) {
|
|
return JSON.toJSONString(data);
|
|
}
|
|
|
|
public static JSONObject parseObject(String data) {
|
|
return JSON.parseObject(data);
|
|
}
|
|
|
|
public static <T> T parseObject(String data, Class<T> clazz) {
|
|
return JSON.parseObject(data, clazz);
|
|
}
|
|
|
|
public static JSONArray parseArray(String data) {
|
|
return JSON.parseArray(data);
|
|
}
|
|
|
|
public static <T> List<T> parseArray(String data, Class<T> clazz) {
|
|
return JSON.parseArray(data, clazz);
|
|
}
|
|
|
|
/**
|
|
* fastJson反序列化Bean
|
|
*
|
|
* @param json json
|
|
* @param clazz 类型
|
|
* @return bean
|
|
*/
|
|
public static <T> T decodeBean(Object json, Class<T> clazz) {
|
|
return decodeBean(toJsonString(json), clazz);
|
|
}
|
|
|
|
/**
|
|
* fastJson反序列化Bean
|
|
*
|
|
* @param json json
|
|
* @param clazz 类型
|
|
* @return bean
|
|
*/
|
|
public static <T> T decodeBean(String json, Class<T> clazz) {
|
|
return parseObject(json, clazz);
|
|
}
|
|
|
|
/**
|
|
* fastJson反序列化List
|
|
*
|
|
* @param json json
|
|
* @param clazz 类型
|
|
* @return List<T>
|
|
*/
|
|
public static <T> List<T> decodeList(String json, Class<T> clazz) {
|
|
return decode(json, new TypeReference<List<T>>(clazz) {
|
|
});
|
|
}
|
|
|
|
|
|
/**
|
|
* fastJson反序列化
|
|
*
|
|
* @param json json
|
|
* @param typeReference 类型
|
|
* @return 反序列化后的值
|
|
*/
|
|
private static <T> T decode(String json, TypeReference<T> typeReference) {
|
|
try {
|
|
return JSON.parseObject(json, typeReference);
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
|