import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import lombok.SneakyThrows;
import org.springframework.util.StringUtils;
/**
* @author
* @date 2021-12-21 13:20
* @Description: json实体类转换工具类
*/
public class JsonUtils {
private static final ObjectMapper objectMapper = new ObjectMapper();
static {
//序列化对象bean对象属性设置
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
//反序列化若多出属性不抛出异常
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
//序列化允许对象为空
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
}
@SneakyThrows
public static String toJsonString(Object object) {
if (object == null) {
return null;
}
return objectMapper.writeValueAsString(object);
}
@SneakyThrows
public static <T> T toBean(String jsonStr, Class<T> clazz) {
if (StringUtils.hasText(jsonStr) || clazz == null) {
return null;
}
return (T) objectMapper.readValue(jsonStr, clazz);
}
}
JSON对象与java对象互相转换工具类示例
最新推荐文章于 2022-12-10 17:23:18 发布