为什么要警告Newtonsoft.Json.JsonConvert.DeserializeObjectAsync

Ray*_*dLe 3 json.net windows-phone-8

我正在使用JSON.NET版本6.0.1,这里是我的代码

var text = await FileHelper.ReadFileAsync(folderSetting, fileName);
var items = await JsonConvert.DeserializeObjectAsync<ObservableCollection<ItemModel>>(text);
Run Code Online (Sandbox Code Playgroud)

但我的Visual Studio警告

警告7'Newtonsoft.Json.JsonConvert.DeserializeObjectAsync(string)'已过时:'DeserializeObjectAsync已过时.使用Task.Factory.StartNew方法异步反序列化JSON:Task.Factory.StartNew(()=> DeserializeObject(value))'

Pet*_*hie 11

图书馆作者认为提供异步包装并将其标记为过时不是库的责任.(见http://blogs.msdn.com/b/pfxteam/archive/2012/03/24/10287244.aspx).在将来的版本中,这些方法将被删除.你应该做这样的事情:

var result = await 
    Task.Factory.StartNew(() => JsonConvert.DeserializeObject<MyObject>(jsonText));
Run Code Online (Sandbox Code Playgroud)