首頁 > Java > java教程 > 如何使用 Java 反序列化 Jackson 中的物件陣列?

如何使用 Java 反序列化 Jackson 中的物件陣列?

Patricia Arquette
發布: 2024-12-21 07:46:13
原創
730 人瀏覽過

How to Deserialize an Array of Objects in Jackson using Java?

使用 Jackson 反序列化物件陣列

Jackson 文件聲稱支援反序列化物件數組,但具體語法化物件可能不清楚。讓我們探索兩種反序列化物件數組的方法。

序列化注意事項

考慮物件陣列的以下JSON 輸入:

[{
    "id" : "junk",
    "stuff" : "things"
},
{
    "id" : "spam",
    "stuff" : "eggs"
}]
登入後複製

反序列化方法1:As Array

實例化一個ObjectMapper 並使用readValue將輸入反序列化為目標物件類型的陣列:

// Instantiate an ObjectMapper
ObjectMapper mapper = new ObjectMapper();

// Deserialize JSON into an array of MyClass objects
MyClass[] myObjects = mapper.readValue(jsonInput, MyClass[].class);
登入後複製

反序列化方法2:As List

要將輸入反序列化為列表,可以使用new TypeReference或constructCollectionType:

選項a:使用TypeReference

// Create TypeReference for a list of MyClass objects
TypeReference<List<MyClass>> typeRef = new TypeReference<List<MyClass>>() {};

// Deserialize JSON input using the TypeReference
List<MyClass> myObjects = mapper.readValue(jsonInput, typeRef);
登入後複製

選項b:使用constructCollectionType

// Create a CollectionType for a list of MyClass objects
JavaType type = mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class);

// Deserialize JSON input using the CollectionType
List<MyClass> myObjects = mapper.readValue(jsonInput, type);
登入後複製

透過這些方法,您可以靈活地將物件陣列反序列化為所需的使用Jackson 的 Java 資料結構。

以上是如何使用 Java 反序列化 Jackson 中的物件陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板