【问题标题】:JavaScriptSerializer namespace issueJavaScriptSerializer 命名空间问题
【发布时间】:2013-09-11 16:00:56
【问题描述】:

我在尝试实现 JavaScriptSerializer 以解析从服务器接收的 JSON 字符串时遇到问题。

我实现了以下代码:

responseFromServer = readStream.ReadLine();
JavaScriptSerializer ser = new JavaScriptSerializer();
var dict = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(responseFromServer);
var status = dict["notificationType"]; 
Debug.WriteLine(status);

我加了using System.Web.Script.Serialization;

Visual C# 2010 Express 告诉我命名空间名称 Script 不存在于命名空间 System.Web 中。因此JavaScriptSerializer 无效。

我缺少什么来使用它,还是有更好的方法来解析 JSON 字符串?

【问题讨论】:

  • 欢迎来到 Stackoverflow,杰夫。请注意,这不是一个论坛,所以通常的论坛式介绍(我是新手等)加上标题中的标签在这里既不必要也不可取。查看faq 和如何How to Ask 页面了解更多信息。还要尝试在您的问题中正确设置格式。

标签: c# json visual-studio-2010 javascriptserializer


【解决方案1】:

JavaScriptSerializer 位于System.Web.Extensions 大会。您应该将其添加到您的项目引用中。

您可以在MSDN获取此信息

程序集:System.Web.Extensions(在 System.Web.Extensions.dll 中)

【讨论】:

    【解决方案2】:
    System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
    var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);
    

    这将帮助您获得价值

    【讨论】:

      【解决方案3】:

      添加引用 System.Web.Extensions

      然后使用 System.Web.Script.Serialization 键入;

      现在您应该使 JavaScriptSerializer 有效。

      您可以通过添加 Newtonsoft.Json.dll 来使用更好的方法

      添加参考。在此处查看详细信息:http://json.codeplex.com/

      【讨论】:

        【解决方案4】:

        我遇到了这个问题,我为 System.Web.Extensions 添加了项目参考,尝试将该参考添加到您的项目中,看看是否有帮助

        【讨论】:

          【解决方案5】:

          安装 Desharp 包你可以在包管理器控制台中使用这个命令

          Install-Package Desharp -Version 1.2.11

          【讨论】:

            猜你喜欢
            • 2011-02-05
            • 2013-03-26
            • 2016-05-14
            • 1970-01-01
            • 1970-01-01
            • 2023-03-20
            • 2011-04-11
            • 2014-09-07
            相关资源
            最近更新 更多