在使用 ObjectMapper
对象进行反序列化时,我遇到了以下错误:
JSONMappingException 无法构造 org.springframework.data.Page 的实例,问题:抽象类型只能通过附加类型信息来实例化。
我正在尝试将一个 JSON 字符串序列化为表示 T
类型页面的 Spring 数据对象 org.springframework.data.Page
。
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对象,我无法修改它,这使得此问题与其他地方提出的方式有些不同。有什么想法吗?