使用 Jackson 反序列化物件陣列
在處理 JSON 資料時,通常需要解析物件陣列。 Jackson 是一個流行的 Java 資料綁定程式庫,提供了對反序列化此類結構的支援。
Jackson 的文檔指出它可以反序列化「所有支援類型的陣列」。但是,此過程的具體語法可能不會立即顯而易見。為了闡明使用Jackson 的陣列反序列化,讓我們探討以下場景:
反序列化單一物件
考慮以下JSON 輸入:
{ "id" : "junk", "stuff" : "things" }
要將這個JSON 反序列化為名為MyClass 的Java對象,我們將使用以下內容代碼:
//json input { "id" : "junk", "stuff" : "things" } //Java MyClass instance = objectMapper.readValue(json, MyClass.class);
反序列化對象數組
對於MyClass 對象數組,JSON 輸入將如下所示:
[{ "id" : "junk", "stuff" : "things" }, { "id" : "spam", "stuff" : "eggs" }]
為了將此陣列反序列化為MyClass 物件的Java列表,我們有兩個options:
作為數組:
MyClass[] myObjects = mapper.readValue(json, MyClass[].class);
作為列表:
List<MyClass> myObjects = mapper.readValue(jsonInput, new TypeReference<List<MyClass>>() {});
或者,我們可以指定列表類型為:
List<MyClass> myObjects = mapper.readValue(jsonInput, mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class));
透過遵循這些方法,您可以使用Jackson 有效地反序列化物件數組,並在 Java 程式碼中方便地存取它們的內容。
以上是如何使用 Jackson 反序列化 JSON 物件陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!