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

时间:2014-03-29 04:23:22

标签: windows-phone-8 json.net

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

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

但我的Visual Studio警告

  

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

1 个答案:

答案 0 :(得分:11)

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

var result = await 
    Task.Factory.StartNew(() => JsonConvert.DeserializeObject<MyObject>(jsonText));