公共部分#
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
public static ObjectMapper getObjectMapper() {
return OBJECT_MAPPER;
}
json をジェネリッククラスに変換する#
/**
* jsonをジェネリッククラスに変換する
*
* @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);