2012-10-12 10 views
16

w tym tutorialu: http://www.asp.net/web-api/videos/getting-started/custom-validation Jon używaJson nie istnieje w przestrzeni nazw System

dynamic error = new JsonObject(); 

z

using System.Json; 

myślę, że to JSONObject tutaj: http://msdn.microsoft.com/en-us/library/system.json.jsonobject(v=vs.110).aspx się w:

  • Przestrzeń nazw: System.Json
  • Assemb ly: System.Runtime.Serialization (w System.Runtime.Serialization.dll)

Dodałem System.Runtime.Serialization odniesienia, ale nadal nie można znaleźć System.Json.

Czy czytam dokumenty Microsoft z błędami? (Używam .NET 4,5)

Odpowiedz

31

Try to:

PM> Install-Package System.Json -Version 4.0.20126.16343 

Za: http://nuget.org/packages/System.Json

Zadziałało!

Jeśli masz pytania dotyczące sposobu dodawania wejść Nuget kod, proszę poniższy link: http://docs.nuget.org/docs/start-here/using-the-package-manager-console

+12

Pakiet nie jest już wymieniony ... – Deduplicator

+2

Używając dokładnego numeru wersji, pracował dla mnie .... Myślę, że czytałem gdzieś ten system. Json nie jest jeszcze gotowy do produkcji, więc musisz podać numer wersji. – Rojuinex

+1

Buduję Web API z 'dnxcore50' i' Visual Studio Code'. Nie mogę rozwiązać problemu "JsonObject". W jaki sposób zainstalować go za pomocą 'dnu install'. Lub jest inny sposób to zrobić? Próbowałem zarówno 'System.Json', jak i' System.JsonObject', ale w obu przypadkach otrzymałem 'nazwę typu lub namaespace 'JsonObject' nie istnieje w przestrzeni nazw" System "... Wszystko czego potrzebuję to zwrócenie Jsona obiekt z metody 'async Task ' przy użyciu HttpClient. Jak mogę to rozwiązać? Jeśli 'JsonObject' nie jest właściwą rzeczą, aby służyć mojemu celowi, to co powinienem użyć jako alternatywę? –

7

http://www.webcosmoforums.com/asp/32551-type-namespace-name-json-does-not-exist-namespace-system-runtime-serialization.html

Najprawdopodobniej brakuje odniesienia do System.ServiceModel.Web

upewnić się, że aplikacja jest kierowanie .NET Framework 4.5 we właściwościach projektu.

System.Json obiekty są dostępne tylko w 4,5

Edit:

Zastosowanie Nuget instalowania system.json: 'Install-Package System.Json'

How to parse JSON without JSON.NET library?

+0

Zespół, do którego istnieje odwołanie, przeznaczony jest dla Silverlight (..Silverlight \ v4.0 \ System.ServiceModel.Web.dll). Próbowałem dodać System.ServiceModel.Web dla .NET, ale nie przyniosło to żadnego efektu. – Cotten

+0

Czy twój docelowy framework 4.5? Pełny lub klient (jeśli 4.5 ma klienta?) – Darbio

+0

Instalacja-Pakiet System.Json z Nuget załatwił sprawę! – Cotten

3

Obiekt Json działa tylko z klasy kontrolera, a nie na zewnątrz. Nawet jeśli odnosimy System.Web.MVC poza kontrolerem, mamy dostęp tylko do JsonResult, a nie do Json, ponieważ obiekt Json jest chronionym obiektem JsonResult. Proszę zapoznać się z poniższą dokumentację, która wyjaśnia, że ​​

http://msdn.microsoft.com/en-us/library/dd504936(v=vs.118).aspx

0

Jeśli chcesz użyć innego .Net json serializatora, można użyć następujących:

  1. przejść do zarządzania pakiet Nuget.
  2. szukaj json.net.
  3. kliknij zainstalować.

więcej szczegółów, należy - http://netfx.codeplex.com/

+1

Należy pamiętać, że [odpowiedzi dotyczące tylko łącza] (http://meta.stackoverflow.com/tags/link-only-answers/info) są odradzane, odpowiedzi SO powinny być punktem końcowym wyszukiwania rozwiązania (vs. jeszcze jeden przystanek referencji, które z czasem zanikają). Proszę rozważyć dodanie samodzielnego streszczenia tutaj, zachowując odnośnik jako odniesienie. – kleopatra

+0

@kleopatra, Cześć, odpowiedź jest edytowana. Sprawdź i daj uptoote. :) –

-2

Korzystanie System.json nie będzie pracować dla .Net 4 ramy. Biblioteka jest przestarzała. Aby sprawdzić, to spróbuj:

  1. Go ... Dodaj odniesienie do projektu.
  2. Na karcie .Net, wyszukaj System.json, nie znajdziesz żadnych.

Oznacza to, że jest przestarzałe.

Powiązane problemy