使用ObjectMapper
反序列化对象时出现以下错误:
JSONMappingException 无法构造 org.springframework.data.Page 的实例,问题:抽象类型只能通过附加类型信息进行实例化。
我正在尝试将 JSON 字符串序列化为org.springframework.data.Page
代表页面类型的 Spring 数据对象T
。
该类User
是一个简单的 POJO,带有first
和last
名称。我反序列化的 JSON 字符串是:
{
"content": [
{
"firstname": "John",
"lastname": "Doe"
},
{
"firstname": "Jane",
"lastname": "Doe"
}
],
"size": 2,
"number": 0,
"sort": [
{
"direction": "DESC",
"property": "timestamp",
"ascending": false
}
],
"totalPages": 150,
"numberOfElements": 100,
"totalElements": 15000,
"firstPage": true,
"lastPage": false
}
这会导致异常:
Page<User> userPage = (Page<User>) new ObjectMapper().mapToJavaObject(json, new TypeReference<Page<User>>(){};
由于Page
是 Spring 对象,我无法修改它,我认为这与我在其他地方看到的这个问题的方式有点不同。有什么想法吗?