我jackson用来读写对象到本地json文件中。
它成功读取和写入值。但是问题是当我从文件中读取值时。并将其分配给我的对象,这会给我一个错误。
java.lang.ClassCastException:无法将java.util.LinkedHashMap强制转换为com.testing.FeedItem
我知道错误的原因,因为要从文件jackons中读取值,LinkedHashMap所以LinkedHashMap不能转换为object(FeedItem)
这是我正在使用的。
进纸
public class PostFeed{
private String name;
private List<FeedItem> feeditemList;
// other code getter setter etc
}
从文件中读取值
ObjectMapper objectMapper = new ObjectMapper();
PostFeed postFeed = objectMapper.readValue(offlinePrivateFeed, PostFeed.class);
FeedItem feedItem = postFeed.getFeedList().get(0); // Error
将写入值更新为本地文件
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.writeValue(Utils.getOutputJsonFile("private-feed"), postFeed);
我发现类似的问题LinkedhashMap无法强制转换为Account模型,但此问题对我而言无济于事,几乎我尝试了所有答案,但没有人解决我的问题。
您能告诉我如何解决吗?
更新:FeedItem
public class FeedItem{
private String name;
private int badge;
private Boolean allow;
// other code getter setter etc
}
更新:JSON文件
{
"feedName": "test123",
"time" : "7-7-1994",
"feedList": [
{
"name": "feedItemName",
"badge": 4,
"allow": false
},
{
"name": "feedItemName",
"badge": 1,
"allow": true
},
{
"name": "feedItemName",
"badge": 2,
"allow": false
}
]
}
更新:解决方案
这个问题可以通过以下方法解决售后服务LinkedHashMap为自定义对象FeedItem,但问题是,我们如何转换LinkedHashMap成Object?
繁星淼淼
UYOU
相关分类