2012-10-12 1 views
16

In questo tutorial: http://www.asp.net/web-api/videos/getting-started/custom-validation Jon utilizzaJSON non esiste nel namespace System

dynamic error = new JsonObject(); 

con

using System.Json; 

Credo che sia il JsonObject qui: http://msdn.microsoft.com/en-us/library/system.json.jsonobject(v=vs.110).aspx situata in:

  • Namespace: System.Json
  • Assemb ly: System.Runtime.Serialization (in System.Runtime.Serialization.dll)

Ho aggiunto un riferimento a System.Runtime.Serialization ma non riesco a trovare System.Json.

Sto leggendo i documenti di Microsoft errati? (Sto usando .NET 4,5)

risposta

31

Try this:

PM> Install-Package System.Json -Version 4.0.20126.16343 

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

Ha funzionato!

Se avete domande su come aggiungere digitare il codice NuGet, segui il link qui sotto: http://docs.nuget.org/docs/start-here/using-the-package-manager-console

+12

Il pacchetto non è più elencato ... – Deduplicator

+2

Utilizzando il numero esatto della versione ha funzionato per me .... Penso di aver letto da qualche parte che sistema. Json non è ancora pronto per la produzione, quindi devi specificare il numero di versione. – Rojuinex

+1

Sto costruendo API Web con 'dnxcore50' e' Codice di Visual Studio'. Non riesco a trovare 'JsonObject' da risolvere. Qual è il modo di installarlo usando 'dnu install'. O c'è un altro modo per farlo? Ho provato sia 'System.Json' che' System.JsonObject' ma in entrambi i casi ho ottenuto 'il tipo o il nome di namaespace 'JsonObject' non esiste nello spazio dei nomi 'System' ... 'Tutto ciò di cui ho bisogno è di restituire un Json oggetto da un metodo 'async Task ' che utilizza HttpClient. Come posso risolvere questo? Se 'JsonObject' non è la cosa giusta per servire il mio scopo, allora cosa dovrei usare come alternativa? –

7

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

Molto probabilmente vi manca un riferimento a System.ServiceModel.Web

Assicurarsi che l'applicazione si rivolge il NET Framework 4.5 nelle proprietà del progetto.

oggetti

Lo System.Json sono disponibili solo in 4.5

Edit:

Usa Nuget installare system.json: 'Install-pacchetto System.Json'

How to parse JSON without JSON.NET library?

+0

l'assembly a cui si fa riferimento per Silverlight (..Silverlight \ v4.0 \ System.ServiceModel.Web.dll). Ho provato ad aggiungere System.ServiceModel.Web per .NET ma non ha avuto alcun effetto. – Cotten

+0

Il framework di destinazione è 4.5? Completo o client (se 4.5 ha un client?) – Darbio

+0

Install-Package System.Json con Nuget ha fatto il trucco! – Cotten

3

L'oggetto JSON funziona solo dalla classe Controller e non al di fuori. Anche se si fa riferimento a System.Web.MVC all'esterno del controller, è possibile accedere solo a JsonResult e non a Json poiché l'oggetto Json è l'oggetto protetto di JsonResult. Si prega di consultare la documentazione di sotto del quale spiega che,

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

0

Se si desidera utilizzare altri serializzatore JSON Net, è possibile utilizzare il seguente:

  1. andare a gestire il pacchetto NuGet.
  2. ricerca json.net.
  3. fare clic su Installa.

per maggiori dettagli, seguire - http://netfx.codeplex.com/

+1

Nota che [risposte solo per collegamento] (http://meta.stackoverflow.com/tags/link-only-answers/info) sono scoraggiate, pertanto le risposte dovrebbero essere il punto finale di una ricerca di una soluzione (vs. ancora un altro scalo di riferimenti, che tendono a diventare stantii nel tempo). Si prega di considerare l'aggiunta di una sinossi autonoma qui, mantenendo il collegamento come riferimento. – kleopatra

+0

@kleopatra, Ciao, la risposta è modificata. Si prega di controllare e dare upvot. :) –

-2

Utilizzando System.json non funzionerà per .Net 4 quadro. La biblioteca è deprecata. Per provarlo:

  1. Vai Aggiungi riferimento ... al progetto.
  2. Nella scheda .Net, Search System.json, non ne troverete.

Ciò significa che è deprecato.