我正在制作一个UWP应用程序,我试图通过序列化将用户选择的存储文件保存到本地设置,并且我想要反序列化它们并在需要时再次使用它们。它将IReadOnlyList对象保存到本地设置就好,但是在反序列化它给出和异常的时候,这个方法不能返回存储文件,因为它没有这个的构造器,就像这样。我发布了保存和加载数据的两种方法的代码。请看到它,帮我...UWP Json.Convert存储文件
public static void SaveState<T>(string key, T value)//save method
{
//key is provided by me so that i can use it to load the data later.
var localSettings = ApplicationData.Current.LocalSettings;
localSettings.Values[key] = JsonConvert.SerializeObject(value);
}
public static T LoadState<T>(string key)//loading data
{
var localSettings = ApplicationData.Current.LocalSettings;
if (localSettings.Values.ContainsKey(key))//exception occurs on the below line
return JsonConvert.DeserializeObject<T>(((string)localSettings.Values[key]));
return default(T);
}
和我使用这些方法如下: -
var files = StateService.LoadState<IReadOnlyList<StorageFile>>(Playlist);
//StateService is the class which has these static methods...
注:当我试图与在没有数据反对一键加载数据本地设置,它不给任何异常,只是返回时,其应该返回IReadOnlyList的填充名单,然后它给和异常空list.but ...
你应该把你得到的例外。 – billybob
在Newtonsoft.Json.dll中发生类型为'Newtonsoft.Json.JsonSerializationException'的异常,但未在用户代码中处理 附加信息:无法找到用于Windows.Storage.StorageFile类型的构造函数。一个类应该有一个默认构造函数,一个带参数的构造函数或一个带有JsonConstructor属性标记的构造函数。路径'[0] .ContentType',第1行,第16位。 如果存在此异常的处理程序,则可以安全地继续执行程序。 –