猿问

将LinkedHashMap转换为自定义Java对象android

我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?


斯蒂芬大帝
浏览 386回答 3
3回答

繁星淼淼

如果PostFeed对象不为null,然后feeditemList不为空,则在下面的代码中使用,请尝试以下代码。&nbsp; &nbsp; if (postFeed!=null &&&nbsp; !postFeed.getFeedList().isEmpty()){&nbsp; &nbsp; &nbsp; &nbsp; FeedItem feedItem = postFeed.getFeedList().get(0);&nbsp; &nbsp; }

UYOU

尝试使用此:`&nbsp; public class PostFeed{&nbsp; &nbsp; &nbsp; &nbsp;private String name;&nbsp; &nbsp; &nbsp; &nbsp;private LinkedHashMap<FeedItem> feeditemList;//&nbsp; &nbsp; &nbsp;private Map<FreedItem> freeditemlist&nbsp; &nbsp; &nbsp; &nbsp;// or you can also do this&nbsp; &nbsp; &nbsp; &nbsp;// other code getter setter etc&nbsp; }`因为LinkedHashMap实现了Map not List
随时随地看视频慕课网APP

相关分类

Java
我要回答