JSON不适用于Prism环境

时间:2014-08-21 21:32:58

标签: json vb.net serialization prism

在一个没有Prism库的项目中,我有这个代码来获取一个" Persoon"对象:

 Dim ObjectCollectie As New ObservableCollection(Of Persoon)()
        If MijnAPIResponse.IsSuccessStatusCode Then

            Dim AntwoordVanAPI = Await MijnAPIResponse.Content.ReadAsStringAsync
            ObjectCollectie = JsonConvert.DeserializeObject(Of ObservableCollection(Of Persoon))(AntwoordVanAPI)

此代码指的是用于获取数据的WebAPI,一切正常。

同样的声明在Prism ViewModel中不起作用。它完美无缺,直到ObjectCollectie尝试使用JsonConvert语句。 AntwoordVanAPI包含与之前相同的JSON字符串。

我得到的错误信息是:

 __The API 'System.Collections.ObjectModel.ObservableCollection1[[Dossier365.BusinessModels.Persoon, Dossier365.BusinessModels, Version=1.0.0.0, Culture=neutral, PublicKeyToken=5ff36822ea527de6]]..ctor(System.Collections.Generic.List1[Dossier365.BusinessModels.Persoon])' cannot be used on the current platform. See  http://go.microsoft.com/fwlink/?LinkId=248273 for more information.__ 

这是指互联网上一个不存在的页面(我已经看过不止一些关于这个的投诉!)。要找到关于这个主题的最新内容并不容易,不能使用API​​和#34;。最新的帖子大约2岁。

因为代码没有改变,我怀疑是Prism库。但为什么?以及如何克服?我也在CodePlex Prism issuelist上发布了这个,但我得到的印象是只有少数读者在那里活跃。问题超过一周没有回应。我希望StackOverflow做得更好。

拜托,请,有人知道答案吗?

彼得

1 个答案:

答案 0 :(得分:1)

经过几个小时的代码和其他一切的学习,我终于发现这个错误的原因在于JSON.Net版本6.0.4。回到JSON.Net版本6.0.3后,一切都再次完美。我在CodePlex的JSON项目中报告过这个。