web-dev-qa-db-fra.com

Comment importer JsonConvert en 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 une erreur en disant 

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

Pour résoudre ce problème, j’ai ajouté System.ServiceModel.Web.dll à des références, mais sans succès. Comment puis-je résoudre cette erreur?

68
Jainendra

JsonConvert provient de l'espace de noms Newtonsoft.Json et non pas System.ServiceModel.Web

Utilisez NuGet pour télécharger la package

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

136
Sam Leach

faites un clic droit sur le projet et sélectionnez Manage NuGet Packages..Dans lequel sélectionnez Json.NET et installez

Après l'installation,

utiliser l'espace de noms suivant

using Newtonsoft.Json;

puis utilisez ce qui suit pour désérialiser

JsonConvert.DeserializeObject
30
Krishna Deepak

Installez-le en utilisant NuGet:

Install-Package Newtonsoft.Json


Poster ceci comme réponse.

14
Zanon

Linux

Si vous utilisez Linux et .NET Core, consultez cette question , vous voudrez utiliser

dotnet add package Newtonsoft.Json

Et puis ajouter 

using Newtonsoft.Json;

à toutes les classes ayant besoin de ça.

2
Evan Carroll

Outils -> Gestionnaire de paquets NuGet -> Console du gestionnaire de paquets

PM> Install-Package Newtonsoft.Json
2
Aminur Rahman

Ou si vous utilisez dotnet Core, 

ajouter à votre fichier .csproj

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

Et 

dotnet restore
1
andrew lorien

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

Assurez-vous simplement que votre méthode de contrôleur retourne une JsonResult et appelez return Json(<objectoToSerialize>); comme dans 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 le paquetage newtonsoft json}

"Projet" -> "Gérer les paquets NuGet" -> "Rechercher" newtonsoft json ". -> cliquer 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);
        }
    }
}

Plus de détails peuvent être trouvés ici - https://docs.Microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1

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

Avant de pouvoir utiliser notre Assembly, nous devons l'ajouter au Global Assembly Cache (GAC). Ouvrez à nouveau l'invite de commande Visual Studio 2008 (pour Vista/Windows7/etc, ouvrez-la en tant qu'administrateur). Et exécutez la commande suivante:

acheminez ce lien pour plus d'informations http://Microsoft-ssis.blogspot.com/2011/05/referencing-custom-Assembly-inside.html

0
shiv roy