119 votes

Comment importer JsonConvert dans une application C# ?

J'ai créé un projet de bibliothèque C#. Le projet a cette ligne dans une classe :

JsonConvert.SerializeObject(objectList);

Je reçois l'erreur suivante

le nom JsonConvert n'existe pas dans le contexte actuel.

Pour corriger cela, j'ai ajouté System.ServiceModel.Web.dll à des références mais n'a pas eu de chance. Comment puis-je résoudre cette erreur ?

4voto

Mauricio Gracia Points 1971

Si vous êtes Si vous développez un WebApi ou un site Web .Net Core, vous n'avez pas besoin d'installer newtownsoft.json. pour effectuer la sérialisation/désérialisation de json

Assurez-vous simplement que votre méthode de contrôle renvoie un JsonResult et appeler return Json(<objectoToSerialize>); comme cet exemple

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 vous développez un .Net Framework WebApi ou WebSite, vous devez utiliser NuGet pour télécharger et installer l'application newtonsoft json paquet

"Projet" -> "Gérer les paquets NuGet" -> "Rechercher "newtonsoft json". -> cliquez sur "installer".

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);
        }
    }
}

Vous trouverez plus de détails ici - https://docs.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1

3voto

Aminur Rahman Points 205

Outils -> NuGet Package Manager -> Console du gestionnaire de paquets

PM> Install-Package Newtonsoft.Json

0voto

shiv roy Points 11

Après avoir installé le paquet, vous devez ajouter le fichier newtonsoft.json.dll dans le chemin d'assemblage en exécutant la commande d'écoulement.

Avant de pouvoir utiliser notre assemblage, nous devons l'ajouter au cache global des assemblages (GAC). Ouvrez à nouveau l'invite de commande de Visual Studio 2008 (pour Vista/Windows7/etc., ouvrez-la en tant qu'administrateur). Et exécutez la commande suivante. gacutil /i d : \myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll

Pour plus d'informations, cliquez sur ce lien http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X