[英]Deserialize a parameterized type with a parameterized member field using Gson
我想使用Google Gson庫來對具有參數化成員字段的參數化類型進行(反)序列化。
該類如下所示:
public class Foo<T>{
List<T> bar;
}
我該怎么辦?
我試過像這樣使用TypeToken
:
Type type = new TypeToken<Foo<String>>() {}.getType();
gson.fromJson<Foo<String>>(json, type);
這將引發一個IllegalStateException
這篇文章可能會對您有所幫助: 使用GSON反序列化通用類型
TLDR,我為您的課程進行了嘗試,您可以使用以下代碼對Foo進行反序列化:
GsonBuilder gson = new GsonBuilder();
String json = "{\"bar\":[\"thing1\",\"thing2\"]}";
Foo deserFoo = gson.create().fromJson(json, Foo.class);
System.out.println(deserFoo.bar);
輸出[thing1,thing2]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.