我想用Jackson解析對象列表。隨着GSON,我可以很容易地做到這一點:用Jackson解析對象列表
List<MyType> list = new Gson().fromJson(input, Types.listOf(MyType.class));
與傑克遜,似乎更加困難:
List<MyType> list = new ObjectMapper().readValue(input, /* What to put here? */);
的代碼需要爲任何類型的列表的操作(如GSON一樣),所以我不能只是一個類型,其中包含一個MyType
列表,並通過。
我試過使用new TypeLiteral<List<MyType>>(){}
,它的工作原理,但只適用於單一類型。如果我將該類型傳遞給該方法,則不再起作用:
public <T> List<T> parse(Class<T> myType) {
// returns a List<Map<?,?>> instead of List<T>
return new ObjectMapper().readValue(input, new TypeLiteral<List<T>>(){});
}
我該如何與傑克遜做這件事?
不,輸入包含* MyType的*列表,而不是單個對象。 – Jorn
這也行不通,請參閱我的編輯 – Jorn