将自定义列表序列化为JSON,并使用Newtonsoft将其反序列化为该自定义列表



在我的Windows 8.1应用程序中,我希望将自定义生成的列表的结果以最佳方式存储到本地存储中,以便以后即使在应用程序关闭后也能检索到它
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);

但是反序列化它我如何才能得到相同的列表我得到的只是一个格式不正确的对象

var obj1 = (JsonConvert.DeserializeObject(tempstr));

有没有其他方法可以更容易、更优化地将这些数据存储在本地存储中(而无需创建SQlite数据库)。

使用

var obj1 = JsonConvert.DeserializeObject<List<BookDetailsItem>>(tempstr)

为反序列化程序提供类型信息。

不可能序列化ImageSource对象。

尝试将其保存为字节[]

相关内容

  • 没有找到相关文章

最新更新