使用 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中文網其他相關文章!