web-dev-qa-db-ja.com

JavaScriptSerializer名前空間の問題

サーバーから受信したJSON文字列を解析するためにJavaScriptSerializerを実装しようとして問題が発生しています。

次のコードを実装しました。

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文字列を解析するより良い方法はありますか?

14
Jeff

JavaScriptSerializerSystem.Web.Extensionsアセンブリにあります。それをプロジェクト参照に追加する必要があります。

この情報は [〜#〜] msdn [〜#〜] で取得できます

アセンブリ:System.Web.Extensions(System.Web.Extensions.dll内)

26
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);

これはあなたが価値を得るために役立ちます

3
Lijin Durairaj

参照System.Web.Extensionsを追加する

次に、System.Web.Script.Serializationを使用して入力します。

これで、JavaScriptSerializerが有効になります。

Newtonsoft.Json.dllを追加することにより、より良いアプローチを使用できます

参照を追加します。詳細はこちら: http://json.codeplex.com/

2
Md Shahriar

この問題が発生したため、System.Web.Extensionsのプロジェクト参照を追加しました。その参照をプロジェクトに追加してみて、それが役立つかどうかを確認してください

0