Gaofangye

Gaofangye

Jackson 操作 json 的一些通用操作

公共部分#

private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();

public static ObjectMapper getObjectMapper() {
    return OBJECT_MAPPER;
}

将 json 转换成带有泛型的 class#

/**
 * 将 json 转换成带有泛型的 class
 *
 * @param json     json
 * @param javaType 泛型类
 * @param <T>      泛型
 * @return 泛型实体类
 */
public static <T> T toBean(String json, JavaType javaType) {
    try {
        return OBJECT_MAPPER.readValue(json, javaType);
    } catch (Exception e) {
        log.error("Jackson 将 json 转换成带有泛型的 Class 对象失败, 失败原因: {}", e.getMessage(), e);
        throw new RuntimeException(e);
    }
}

用例:

JavaType javaType = getObjectMapper().getTypeFactory().constructParametricType(ReqEntityPublic.class, UserDTO.class);
ReqEntityPublic<UserDTO> reqEntityPublic = toBean(jsonStr, javaType);
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。