Comment importer JsonConvert dans une application C #?


94

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.dlldes références mais je n'ai pas eu de chance. Comment puis-je résoudre cette erreur?

Réponses:


170

JsonConvertprovient de l'espace de noms Newtonsoft.Json, pasSystem.ServiceModel.Web

Utilisez NuGetpour télécharger lepackage

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


est-ce que vous construisez un WebApi ou un site Web .NET Core voir ma réponse ci
Mauricio Gracia Gutierrez

1
aussi, assurez-vous 'using Newtonsoft.Json;' est là
Dhanuka777

43

faites un clic droit sur le projet et sélectionnez Manage NuGet Packages.. Dans ce choix Json.NETet 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

Pour .net core, vous n'avez pas besoin d'installer newtonsoft - voir ma réponse ci
Mauricio Gracia Gutierrez

16

Installez-le à l'aide de NuGet:

Install-Package Newtonsoft.Json


Poster ceci comme réponse.


Pour .net core, vous n'avez pas besoin d'installer newtonsoft - voir ma réponse ci
Mauricio Gracia Gutierrez

7

Ou si vous utilisez dotnet Core,

ajouter à votre fichier .csproj

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

Et

dotnet restore

Pour .net core, vous n'avez pas besoin d'installer newtonsoft - voir ma réponse ci
Mauricio Gracia Gutierrez


3

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

PM> Install-Package Newtonsoft.Json

Pour .net core, vous n'avez pas besoin d'installer newtonsoft - voir ma réponse ci
Mauricio Gracia Gutierrez

2

Si vous êtes 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éserealization json

Assurez-vous simplement que votre méthode de contrôleur renvoie un JsonResultet appelez 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 WebApi ou un site Web .Net Framework, vous devez utiliser NuGet pour télécharger et installer le newtonsoft jsonpackage.

"Projet" -> "Gérer les packages 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


0

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

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

suivez ce lien pour plus d'informations http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html


0

Essayez ceci en C #. Ça marche:

var jsonObject = JsonConvert.DeserializeObject(File.ReadAllText(MyFilePath));

Importez sous les espaces de noms:

Pour JsonConvert: using Newtonsoft.Json;

Pour le fichier: using System.IO;

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.