首页 > 解决方案 > 如何将包含 json 数组的 json 反序列化为包含列表的对象?

问题描述

{
"id" : "25",
"authors" : 
    [
        {
            "firstname":"Ayn",
            "lastname":"Rand"
        },
        {
            "firstname":"Mark",
            "lastname" : "Twain"
        }
    ]
}

这是我的Java类:

public class FavoriteAuthors {
    public String id;
    public List<Author> authors;

    public static class Author {
        public String firstname;
        public String lastname;
    }
}

我已经尝试过使用以下两种方法:

FavoriteAuthors favAuthors = Json.fromJson(json, FavoriteAuthors.class);

ObjectMapper objectMapper = new ObjectMapper();
FavoriteAuthors favAuthors = objectMapper.readValue(json, FavoriteAuthors.class);

在这两种方法中,我都会收到以下异常:

(no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

谁能在这里指出正确的方法?

标签: jsonjacksondeserialization

解决方案


推荐阅读