JavaScriptSerializer namespace issue

2019-02-21 09:45发布

I am having a problem trying to implement the JavaScriptSerializer to parse a JSON string received from a server.

I implemented the following code:

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

I added using System.Web.Script.Serialization;

Visual C# 2010 Express is telling me the namespace name Script does not exist in the namespace System.Web. As a result the JavaScriptSerializer is not valid.

What am I missing to use this, or is there a better way to parse the JSON string?

5条回答
相关推荐>>
2楼-- · 2019-02-21 10:15

install Desharp package you can use this command in package manager console

Install-Package Desharp -Version 1.2.11

查看更多
爷的心禁止访问
3楼-- · 2019-02-21 10:17

JavaScriptSerializer is situated in System.Web.Extensions Assembly. You should add it to your project references.

You can get this information in MSDN

Assembly: System.Web.Extensions (in System.Web.Extensions.dll)

查看更多
劫难
4楼-- · 2019-02-21 10:18

Add Reference System.Web.Extensions

then type using System.Web.Script.Serialization;

Now you should get JavaScriptSerializer valid.

You can use better approach by adding Newtonsoft.Json.dll through

Add Reference. See details here : http://json.codeplex.com/

查看更多
倾城 Initia
5楼-- · 2019-02-21 10:22

I have had this problem and I added project reference for System.Web.Extensions , try adding that reference to your project and see if it helps

查看更多
何必那么认真
6楼-- · 2019-02-21 10:38
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);

This will help you to get the value

查看更多
登录 后发表回答