¿Cómo importar JsonConvert en la aplicación C #?


98

Creé un proyecto de biblioteca C #. El proyecto tiene esta línea en una clase:

JsonConvert.SerializeObject(objectList);

Estoy recibiendo un error diciendo

el nombre JsonConvert no existe en el contexto actual.

Para solucionarlo, agregué System.ServiceModel.Web.dllreferencias pero no tuve suerte. ¿Cómo puedo solucionar este error?

Respuestas:


176

JsonConvertes del espacio de nombres Newtonsoft.Json, noSystem.ServiceModel.Web

Use NuGetpara descargar elpackage

"Proyecto" -> "Administrar paquetes NuGet" -> "Buscar" newtonsoft json ". -> haga clic en" instalar ".


si está construyendo un .NET Core WebApi o WebSite vea mi respuesta a continuación
Mauricio Gracia Gutierrez

1
también, asegúrese de 'usar Newtonsoft.Json;' ¿Hay
Dhanuka777

46

haga clic derecho en el proyecto y seleccione Manage NuGet Packages.. En ese seleccione Json.NETe instale

Después de la instalación,

use el siguiente espacio de nombres

using Newtonsoft.Json;

luego usa lo siguiente para deserializar

JsonConvert.DeserializeObject

Para .net core no es necesario instalar newtonsoft - vea mi respuesta a continuación
Mauricio Gracia Gutierrez

16

Instálelo usando NuGet:

Install-Package Newtonsoft.Json


Publicando esto como respuesta.


Para .net core no necesita instalar newtonsoft - vea mi respuesta a continuación
Mauricio Gracia Gutierrez

7

O si usa dotnet Core,

agregar a su archivo .csproj

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
  </ItemGroup>

Y

dotnet restore

Para .net core no necesita instalar newtonsoft - vea mi respuesta a continuación
Mauricio Gracia Gutierrez


4

Herramientas -> Administrador de paquetes NuGet -> Consola del administrador de paquetes

PM> Install-Package Newtonsoft.Json

Para .net core no necesita instalar newtonsoft - vea mi respuesta a continuación
Mauricio Gracia Gutierrez

2

Si está desarrollando un .Net Core WebApi o WebSite, no necesita instalar newtownsoft.json para realizar la serialización / deserealización de json

Solo asegúrese de que su método de controlador devuelva un JsonResulty llame return Json(<objectoToSerialize>);como este ejemplo

namespace WebApi.Controllers
{
    [Produces("application/json")]
    [Route("api/Accounts")]
    public class AccountsController : Controller
    {
        // GET: api/Transaction
        [HttpGet]
        public JsonResult Get()
        {
            List<Account> lstAccounts;

            lstAccounts = AccountsFacade.GetAll();

            return Json(lstAccounts);
        }
    }
}

Si está desarrollando un .Net Framework WebApi o WebSite, debe usar NuGet para descargar e instalar el newtonsoft jsonpaquete.

"Proyecto" -> "Administrar paquetes NuGet" -> "Buscar" newtonsoft json ". -> haga clic en" instalar ".

namespace WebApi.Controllers
{
    [Produces("application/json")]
    [Route("api/Accounts")]
    public class AccountsController : Controller
    {
        // GET: api/Transaction
        [HttpGet]
        public JsonResult Get()
        {
            List<Account> lstAccounts;

            lstAccounts = AccountsFacade.GetAll();

            //This line is different !! 
            return new JsonConvert.SerializeObject(lstAccounts);
        }
    }
}

Puede encontrar más detalles aquí: https://docs.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1


0

Después de instalar el paquete, debe agregar newtonsoft.json.dll en la ruta de ensamblaje ejecutando el comando de flujo.

Antes de que podamos usar nuestro ensamblado, tenemos que agregarlo a la caché de ensamblados global (GAC). Abra el símbolo del sistema de Visual Studio 2008 nuevamente (para Vista / Windows7 / etc., ábralo como Administrador). Y ejecuta el siguiente comando. gacutil /id:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll

fluya este enlace para obtener más información http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html


0

Pruebe esto en C #. Funciona:

var jsonObject = JsonConvert.DeserializeObject(File.ReadAllText(MyFilePath));

Importar los siguientes espacios de nombres:

Para JsonConvert: using Newtonsoft.Json;

Para archivo: using System.IO;

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.