首页 > Java > java教程 > 如何使用 Java 反序列化 Jackson 中的对象数组?

如何使用 Java 反序列化 Jackson 中的对象数组?

Patricia Arquette
发布: 2024-12-21 07:46:13
原创
731 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板