Je n'arrive pas à trouver l' JavaScriptSerializer
objet ni l' System.Web.Script.Serialization
espace de noms dans Visual Studio 2010. J'ai besoin de sérialiser quelque chose en JSON, que suis-je censé utiliser?
Et oui, j'ai déjà inclus le System.Web.Extensions
(dans System.Web.Extensions.dll) dans le projet. C'est pourquoi je suis choqué?
- Je sais a
System.Web.Extensions
été marqué comme obsolète en 3.5
c#
visual-studio
jsonserializer
Prisonnier ZERO
la source
la source
Réponses:
Vérifiez si vous avez inclus la version .net 4 de
System.Web.Extensions
- il existe également une version 3.5, mais je ne pense pas que cela fonctionne.Ces étapes fonctionnent pour moi:
System.Web.Extensions
(4.0)JavaScriptSerializer
maintenant à Program.cs :-)la source
References
et faitesAdd Reference
, puisAssemblies->Framework
sélectionnezSystem.Web.Extensions
.la source
Du premier résultat de recherche sur google:
http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
Donc, incluez
System.Web.Extensions.dll
comme référence.la source
J'utilise Visual Studio 2015 et j'ai finalement parcouru ce post.
Oui pour utiliser
Vous devez faire un clic droit sur les références et sous Assemblies -> Framework choisir
Ajoutez ensuite votre référence
la source
Voici comment obtenir JavaScriptSerializer disponible dans votre application, ciblage
.NET 4.0
(complet)Cela devrait vous permettre de créer un nouvel
JavaScriptSerializer
objet!la source
est dans l'assembly: System.Web.Extensions (System.Web.Extensions.dll)
la source
Visez-vous le framework .NET 4 ou le profil client .NET 4?
Si vous ciblez ce dernier, vous ne trouverez pas cette classe. Vous pouvez également manquer une référence, probablement à une DLL d'extensions.
la source
Pour ceux qui semblent suivre les réponses ci-dessus mais qui ont toujours le problème (par exemple, voir le premier commentaire sur la question de l'affiche):
Vous travaillez probablement dans une solution avec de nombreux projets. Le projet dans lequel vous semblez travailler fait référence à d'autres projets, mais vous modifiez actuellement un fichier de l'un des autres projets. Par exemple:
System.Web.Extensions
Mais si le fichier que vous modifiez pour utiliser se
System.Web.Script.Serialization
trouve dans le projet B, vous devrez également ajouter une référenceSystem.Web.Extension
dans le projet B.la source
Avez-vous inclus une référence à
System.Web.Extensions
? Si vous cliquez sur votre premier lien, il indique dans quel assemblage il se trouve.la source
Vous devez ajouter la référence au projet.
Dans les assemblys, il y a un System.Web.Extensions Ajoutez cela.
Une fois cela fait, mettez:
Cela a fonctionné pour moi.
la source
Juste pour que vous sachiez, j'utilise Visual Studio 2013 et j'ai eu le même problème jusqu'à ce que j'utilise les propriétés du projet pour basculer vers le framework 3.5 et revenir à 4.5. Cela, pour une raison quelconque, a correctement enregistré le fichier .dll et j'ai pu utiliser les extensions System.Web.Extensions .
la source
Vous pouvez utiliser une autre option qui est Newtonsoft.Json, vous pouvez l'installer depuis NuGet Package Manager.
Outils >> Nuget Package Manager >> Package Manager Console en émettant une commande
Install-Package Newtonsoft.Json
ou
en utilisant l'interface graphique à Outils >> Nuget Package Manager >> Gérer les packages NuGet pour la solution ...
la source