Jacksonjsonライブラリを使用してjson文字列をList<Someclass>
に変換したいと思います。
public static List<T> toList(String json, Class<T> type, ObjectMapperProperties objectMapperProperties){
ObjectMapper objectMapper = ObjectMapperFactory.getObjectMapper(objectMapperProperties);
try {
return objectMapper.readValue(json, objectMapper.getTypeFactory().constructCollectionType(List.class, type));
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
したがって、Attribute.class
をtype
として渡すと、List<Attribute>
を返す必要があります。
ただし、これによりコンパイル時エラーが発生します
T cannot be resolved to a type
ジェネリックスの部分はここでははっきりしないと思います。どんな助けでも大歓迎です。
ジェネリックメソッドで最初にT
を宣言する必要があります。あなたの場合は次のようになります:
public static <T> List<T> toList(String json, Class<T> type, ObjectMapperProperties objectMapperProperties)
詳細については、Oracleのドキュメントで一般的なメソッドを確認してください。
https://docs.Oracle.com/javase/tutorial/extra/generics/methods.html