我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?
3 回答
![?](http://img1.sycdn.imooc.com/5333a1d100010c2602000200-100-100.jpg)
繁星淼淼
TA贡献1775条经验 获得超11个赞
如果PostFeed对象不为null,然后feeditemList不为空,则在下面的代码中使用,请尝试以下代码。
if (postFeed!=null && !postFeed.getFeedList().isEmpty()){
FeedItem feedItem = postFeed.getFeedList().get(0);
}
![?](http://img1.sycdn.imooc.com/5458643d0001a93c02200220-100-100.jpg)
UYOU
TA贡献1878条经验 获得超4个赞
尝试使用此:
` public class PostFeed{
private String name;
private LinkedHashMap<FeedItem> feeditemList;
// private Map<FreedItem> freeditemlist
// or you can also do this
// other code getter setter etc
}`
因为LinkedHashMap实现了Map not List
添加回答
举报
0/150
提交
取消