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.dll
referencias pero no tuve suerte. ¿Cómo puedo solucionar este error?
haga clic derecho en el proyecto y seleccione
Manage NuGet Packages..
En ese seleccioneJson.NET
e instaleDespués de la instalación,
use el siguiente espacio de nombres
using Newtonsoft.Json;
luego usa lo siguiente para deserializar
fuente
Instálelo usando NuGet:
Publicando esto como respuesta.
fuente
O si usa dotnet Core,
agregar a su archivo .csproj
<ItemGroup> <PackageReference Include="Newtonsoft.Json" Version="9.0.1" /> </ItemGroup>
Y
fuente
Linux
Si usa Linux y .NET Core, consulte esta pregunta , querrá usar
dotnet add package Newtonsoft.Json
Y luego agrega
using Newtonsoft.Json;
a cualquier clase que lo necesite.
fuente
Herramientas -> Administrador de paquetes NuGet -> Consola del administrador de paquetes
fuente
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
JsonResult
y llamereturn Json(<objectoToSerialize>);
como este ejemplonamespace 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 json
paquete."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
fuente
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
fuente
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;
fuente