Nie mogę znaleźć JavaScriptSerializer
obiektu ani System.Web.Script.Serialization
przestrzeni nazw w Visual Studio 2010. Muszę serializować coś do JSON, czego mam użyć?
I tak, już włączyłem System.Web.Extensions
(w System.Web.Extensions.dll) do projektu. Dlatego jestem zszokowany?
- Wiem, że
System.Web.Extensions
został oznaczony jako przestarzały w 3.5
c#
visual-studio
jsonserializer
Więzień ZERO
źródło
źródło
Odpowiedzi:
Sprawdź, czy włączyłeś wersję .net 4
System.Web.Extensions
- jest też wersja 3.5, ale nie sądzę, żeby działała.Te kroki działają dla mnie:
System.Web.Extensions
(4.0)JavaScriptSerializer
w Program.cs :-)źródło
References
i zróbAdd Reference
, a następnieAssemblies->Framework
wybierzSystem.Web.Extensions
.źródło
Od pierwszego wyniku wyszukiwania w Google:
http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
Dołącz
System.Web.Extensions.dll
jako odniesienie.źródło
Korzystam z programu Visual Studio 2015 i wreszcie natknąłem się na ten post.
Tak, aby użyć
Musisz kliknąć prawym przyciskiem myszy odniesienia i w części Zespoły -> Wybierz ramy
Następnie dodaj referencję
źródło
Oto jak uzyskać dostęp do JavaScriptSerializer w Twojej aplikacji, targetowanie
.NET 4.0
(pełna)To powinno pozwolić ci stworzyć nowy
JavaScriptSerializer
obiekt!źródło
jest w zestawie: System.Web.Extensions (System.Web.Extensions.dll)
źródło
Czy kierujesz się na platformę .NET 4 lub profil klienta .NET 4?
Jeśli celujesz w to drugie, nie znajdziesz tej klasy. Być może brakuje Ci też odniesienia, prawdopodobnie do biblioteki DLL rozszerzeń.
źródło
Dla tych, którzy wydają się postępować zgodnie z powyższymi odpowiedziami, ale nadal mają problem (np. Zobacz pierwszy komentarz do pytania postera):
Prawdopodobnie pracujesz nad rozwiązaniem z wieloma projektami. Projekt, który wydaje się pracować w odniesieniu do innych projektów, ale tak naprawdę modyfikujesz plik z jednego z innych projektów. Na przykład:
System.Web.Extensions
Ale jeśli plik, który modyfikujesz do użycia,
System.Web.Script.Serialization
znajduje się w projekcie B, musisz również dodać odniesienie doSystem.Web.Extension
projektu B.źródło
Czy zamieściłeś odniesienie do
System.Web.Extensions
? Po kliknięciu pierwszego łącza wyświetli się informacja, w którym zespole się znajduje.źródło
Musisz dodać odniesienie do projektu.
W złożeniach znajduje się System.Web.Extensions Dodaj to.
Po zakończeniu włóż:
To działało dla mnie.
źródło
Wiem tylko, że używam Visual Studio 2013 i miałem ten sam problem, dopóki nie użyłem Właściwości projektu, aby przełączyć się do frameworka 3.5 i wrócić do 4.5. To z jakiegoś powodu poprawnie zarejestrowało .dll i mogłem skorzystać z System.Web.Extensions .
źródło
Możesz użyć innej opcji, którą jest Newtonsoft.Json, możesz zainstalować ją z NuGet Package Manager.
Narzędzia >> Menedżer pakietów Nuget >> Konsola Menedżera pakietów, wydając polecenie
Install-Package Newtonsoft.Json
lub
za pomocą GUI w Narzędzia >> Menedżer pakietów Nuget >> Zarządzaj pakietami NuGet dla rozwiązania ...
źródło