【问题标题】:How to deserialize a JSON string to .NET object?如何将 JSON 字符串反序列化为 .NET 对象?
【发布时间】:2012-03-25 10:19:37
【问题描述】:

我正在使用适用于 Windows Phone 7 的 Visual Studio 2012,这是我的第一个应用程序。当我尝试使用 JSON.NET 反序列化 JSON 字符串时,我总是会收到这个奇怪的错误:

缺少方法:r rlib,Version=3.7.0.0,Culture=neutral,PublicKeyToken=969DB8053D3322AC.System.Threading.Monitor。

这是我的反序列化 JSON 字符串的代码的 sn-p:

public void DeserializeFeed(string feed)
{
    JsonSerializer ser = new JsonSerializer();
    //JsonReader jr = new JsonTextReader(new StreamReader(feed));
    Post deserializedPost = JsonConvert.DeserializeObject<Post>(feed);
}

我在这里发布了逐步调试模式,以提供更准确的信息:

DEBUG STEP BY STEP MODE

谁能帮帮我?希望我清楚!

【问题讨论】:

    标签: c# .net windows visual-studio-2010 json.net


    【解决方案1】:

    我搜索了您遇到的错误,这似乎是一个普遍存在的问题。但是,我确实在另一个网站上找到了一个声称已解决该问题的帖子:http://windowsphonegeek.com/articles/WP7-InputPrompt-in-depth

    经过数小时的调试,我能够排除错误并编译代码并使用控件。只需从我下载的消息提示示例中复制库(Coding4Fun Phone Controls & Microsoft Phone Controls Toolkit)。这是它的链接。 http://www.windowsphonegeek.com/articles/Coding4Fun-WP7-Message-Prompt-in-depth

    我没有手机来测试解决方案,所以我无法从经验中获得最高水平,但它看起来确实很有希望。

    附言。实际的反序列化对我来说看起来不错。

    (我会将此放在评论而不是答案中,但我还没有特权,如果冒犯了,请见谅)

    【讨论】:

    • 感谢您的回答,是的,这是同一种错误,但用户处理另一个库,我实际上正在尝试使用 JSON.net,但我得到了这个奇怪的错误,任何人都知道它来自哪里来了?
    • 您确定包含了正确的库吗(看起来像是 dll 源的 Silverlight 版本:eugenedotnet.com/2010/12/windows-phone-7-serialization-json-net)?人们遇到的其他一些错误似乎源于尝试使用在手机上使用 Windows 特定部分的 .NET 框架的库。
    • 是的,我已经添加了它,但我刚刚检查了它并将 NewtonSoft.Json.dll 在我的参考库中切换到我在“签名”文件夹中找到的另一个文件,它可以工作!!再次感谢您快速高效的帮助;D
    • 对不起,我又回到了这个非常奇怪的问题,因为在重新编译后,我再次收到此错误,我对此完全感到困惑,如果有人知道这个错误,请帮助我!
    • 因此,这个奇怪问题的最终答案是使用 NewtonSoft.Json.Silverlight 而不是 NewtonSoft.Json 用于 Windows Phone 7 Silverlight 应用程序。您可以在此项目中检索此 DLL:eugenedotnet.com/edimages/WindowsPhone7/Lesson18_Serialization/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    相关资源
    最近更新 更多