c# - serialize - newtonsoft json property attributes




Come importare JsonConvert in C#? (5)

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.

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?


Installalo usando NuGet:

Install-Package Newtonsoft.Json


Pubblicando this come risposta.


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 ".





json.net