在我的Windows 8.1应用程序中,我希望将自定义生成的List的结果最佳地存储到本地存储中,以便稍后在应用程序关闭后我可以检索它。
Newtonsoft JSON序列化程序帮助我序列化List到字符串格式,我可以存储在任何文本文件中。但反序列化它不会获取所需的List。
班级
public class BookDetailsItem
{
public string Id { get; set; }
public ImageSource CoverImage { get; set; }
public string Name { get; set; }
public Visibility ProgressVisi { get; set; }
public List<StoryDetailsItem> stories { get; set; }
}
public class StoryDetailsItem
{
public string Id { get; set; }
public string Name { get; set; }
public ImageSource CoverImage { get; set; }
public string Time { get; set; }
public string Word { get; set; }
public Visibility ProgressVisi { get; set; }
}
现在我将所需的项目添加到此类的列表中
List<BookDetailsItem> tempbook = new List<BookDetailsItem>();
tempbook.Add(......);
现在序列化我可以将它存储在任何txt文件中
string tempstr = JsonConvert.SerializeObject(tempbook);
但反序列化它如何才能获得相同的List我得到的是一个不正确格式的对象
var obj1 = (JsonConvert.DeserializeObject(tempstr));
我是否可以通过其他方式更轻松,更优化地将这些数据存储在本地存储中(无需创建SQlite数据库)。
答案 0 :(得分:2)
使用
var obj1 = JsonConvert.DeserializeObject<List<BookDetailsItem>>(tempstr)
为反序列化器提供类型信息。
答案 1 :(得分:1)
无法序列化ImageSource对象。
尝试将其保存为byte []