- Java对象转JSON:
public static String toString(Object obj, String default) {
try {
return MAPPER.writeValueAsString(obj);
} catch (JsonProcessingException e) {
LOGGER.error("toString error" + e.getMessage());
return default;
}
}
- JSON转Java对象:
- 带泛型:
public static <T> T toObject(String jsonString, TypeReference<T> typeReference) {
return toObject(jsonString, null, typeReference);
}
- 不带泛型:
public static <T> T toObject(String jsonString, T default, Class<T> clazz) {
try {
return MAPPER.readValue(jsonString, clazz);
} catch (Exception e) {
LOGGER.error("toObject error:" + e.getMessage());
return default;
}
}
- JSON反序列化为List:
public static <T> List<T> ofList(String jsonString, Class<T> clazz) {
if (StringUtil.isBlank(jsonString)) {
return null;
}
CollectionType javaType = MAPPER.getTypeFactory().constructCollectionType(List.class, clazz);
try {
return MAPPER.readValue(jsonString, javaType);
} catch (JsonProcessingException e) {
LOGGER.error("toList error:" + e.getMessage());
return null;
}
}
- JSON反序列化为Map:
public static <K, V> Map<K, V> ofMap(String jsonString, Class<K> keyClazz, Class<V> valueClazz) {
if (StringUtil.isBlank(jsonString)) {
return null;
}
MapType javaType = MAPPER.getTypeFactory().constructMapType(Map.class, keyClazz, valueClazz);
try {
return MAPPER.readValue(jsonString, javaType);
} catch (JsonProcessingException e) {
LOGGER.error("ofMap:" + e.getMessage(), e);
return null;
}
}