c# - serialize - newtonsoft json property attributes
Come importare JsonConvert in C#? (5)
Ho creato un progetto di libreria C #. Il progetto ha questa linea in una classe:
JsonConvert.SerializeObject(objectList);
Sto ricevendo errore dicendo
il nome JsonConvert non esiste nel contesto corrente.
Per risolvere il problema, ho aggiunto System.ServiceModel.Web.dll
ai riferimenti ma non ho avuto fortuna. Come posso risolvere questo errore?
Linux
Se stai usando Linux e .NET Core, vedi questa domanda , ti consigliamo di usarla
dotnet add package Newtonsoft.Json
E poi aggiungi
using Newtonsoft.Json;
a tutte le classi che ne hanno bisogno.
Se stai sviluppando un .Net Core WebApi o WebSite non hai bisogno di installare newtownsoft.json per eseguire serializzazione / deserealizzazione JSON
Assicurati che il tuo metodo controller ritorni a JsonResult
e return Json(<objectoToSerialize>);
come questo esempio
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);
}
}
}
Se stai sviluppando un .Net Framework WebApi o WebSite, devi utilizzare NuGet per scaricare e installare il pacchetto newtonsoft json
"Progetto" -> "Gestisci pacchetti NuGet" -> "Cerca" newtonsoft json ". -> fai clic su" installa ".
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);
}
}
}
Maggiori dettagli possono essere trovati qui - https://docs.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1
Strumenti -> NuGet Package Manager -> Console Gestione pacchetti
PM> Install-Package Newtonsoft.Json
JsonConvert
dal namespace Newtonsoft.Json
, non da System.ServiceModel.Web
Usa NuGet
per scaricare il package
"Progetto" -> "Gestisci pacchetti NuGet" -> "Cerca" newtonsoft json ". -> fai clic su" installa ".