2012-10-12 115 views
16

En este tutorial: http://www.asp.net/web-api/videos/getting-started/custom-validation Jon utilizaJSON no existe en el espacio de nombres System

dynamic error = new JsonObject(); 

con

using System.Json; 

supongo que es el JSONObject aquí: http://msdn.microsoft.com/en-us/library/system.json.jsonobject(v=vs.110).aspx ubicado en:

  • Espacio de nombres: System.Json
  • Assemb ly: System.Runtime.Serialization (en System.Runtime.Serialization.dll)

He agregado System.Runtime.Serialization como referencia pero todavía no puedo encontrar System.Json.

¿Estoy leyendo los documentos de Microsoft incorrectamente? (Estoy usando .NET 4,5)

Respuesta

31

Try esto:

PM> Install-Package System.Json -Version 4.0.20126.16343 

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

¡Funcionó!

Si tiene alguna pregunta sobre cómo agregar introducir Nuget código, por favor siga el siguiente enlace: http://docs.nuget.org/docs/start-here/using-the-package-manager-console

+12

El paquete ya no aparece en la lista ... – Deduplicator

+2

Usar el número de versión exacto funcionó para mí .... Creo que leí en algún lugar ese sistema. Json aún no está listo para la producción, por lo que debe especificar el número de versión. – Rojuinex

+1

Estoy construyendo API web con 'dnxcore50' y' Código de Visual Studio'. No puedo resolver 'JsonObject' para resolverlo. ¿Cuál es la forma de instalarlo usando 'dnu install'. O hay otra forma de hacerlo? Intenté tanto 'System.Json' como' System.JsonObject', pero en ambos casos obtuve 'el tipo o nombre de namaespacio 'JsonObject' no existe en el espacio de nombres 'System' ...' Todo lo que necesito es devolver un Json Objeto desde un método 'async Task ' utilizando HttpClient. ¿Cómo puedo resolver esto? Si 'JsonObject' no es lo correcto para mi propósito, ¿qué debería usar como alternativa? –

7

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

más probable es que se echa en falta una referencia a System.ServiceModel.Web

Asegúrese de que su aplicación tiene como objetivo el NET Framework 4.5 en las propiedades del proyecto.

objetos

El System.Json sólo están disponibles en 4.5

Editar:

Uso Nuget instalar system.json: 'Instalar Paquete System.Json'

How to parse JSON without JSON.NET library?

+0

el ensamblado al que se hace referencia allí es para Silverlight (..Silverlight \ v4.0 \ System.ServiceModel.Web.dll). Intenté agregar System.ServiceModel.Web para .NET pero no tuvo efecto. – Cotten

+0

¿Su objetivo es el marco 4.5? Completo o cliente (si 4.5 tiene cliente?) – Darbio

+0

Install-Package System.Json con Nuget hizo el truco! – Cotten

3

El objeto JSON funciona sólo de la clase del controlador y no fuera. Incluso si remitimos System.Web.MVC fuera del controlador, solo tenemos acceso a JsonResult y no a Json, ya que el objeto Json es el objeto protegido de JsonResult. Por favor, consulte la documentación debajo de la cual explica que,

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

0

Si desea utilizar otra serializador JSON .Net, puede utilizar el siguiente:

  1. van a administrar paquete Nuget.
  2. búsqueda json.net.
  3. haga clic en instalar.

para más detalles, siga - http://netfx.codeplex.com/

+1

Tenga en cuenta que [las respuestas solo de enlace] (http://meta.stackoverflow.com/tags/link-only-answers/info) no se recomiendan, por lo que las respuestas deben ser el punto final de una búsqueda de una solución (vs. otra escala más de referencias, que tienden a quedar obsoletas en el tiempo). Considere agregar una sinopsis independiente aquí, manteniendo el enlace como referencia. – kleopatra

+0

@kleopatra, Hola, la respuesta está editada. Por favor revisa y da voto al alza. :) –

-2

Usando System.json no funcionará para .Net 4 Marco. La biblioteca está en desuso. Para verificarlo intente:

  1. Go Agregar referencia ... al proyecto.
  2. En .Net Tab, Buscar System.json, no encontrarás ninguno.

Eso significa que está en desuso.

Cuestiones relacionadas