J'ai un problème à essayer d'implémenter le JavaScriptSerializer
pour analyser une chaîne JSON reçue d'un serveur.
J'ai implémenté le code suivant:
responseFromServer = readStream.ReadLine();
JavaScriptSerializer ser = new JavaScriptSerializer();
var dict = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(responseFromServer);
var status = dict["notificationType"];
Debug.WriteLine(status);
J'ai ajouté using System.Web.Script.Serialization;
Visual C # 2010 Express me dit que le nom de l'espace de noms Script
n'existe pas dans l'espace de noms System.Web
. Par conséquent, le JavaScriptSerializer
n'est pas valide.
Qu'est-ce qui me manque pour l'utiliser, ou existe-t-il une meilleure façon d'analyser la chaîne JSON?
JavaScriptSerializer
est situé dans System.Web.Extensions
Assemblée. Vous devez l'ajouter à vos références de projet.
Vous pouvez obtenir ces informations dans MSDN
Assembly: System.Web.Extensions (dans System.Web.Extensions.dll)
System.Web.Script.Serialization.JavaScriptSerializer oSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var dict = oSerializer.Deserialize<Dictionary<string, object>>(responseFromServer);
Cela vous aidera à obtenir la valeur
Ajouter une référence System.Web.Extensions
puis tapez using System.Web.Script.Serialization;
Vous devez maintenant valider JavaScriptSerializer.
Vous pouvez utiliser une meilleure approche en ajoutant Newtonsoft.Json.dll via
Ajouter une référence. Voir les détails ici: http://json.codeplex.com/
J'ai rencontré ce problème et j'ai ajouté une référence de projet pour System.Web.Extensions
, essayez d'ajouter cette référence à votre projet et voyez si cela aide