Comment importer JsonConvert dans L'application C#?

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

JsonConvert.SerializeObject(objectList);

j'obtiens une erreur en disant

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

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

63
demandé sur Evan Carroll 2013-09-13 14:59:31

7 réponses

JsonConvert provient de l'espace de nom Newtonsoft.Json , pas System.ServiceModel.Web

utiliser NuGet pour télécharger le package

"projet" - > "Gérer les paquets NuGet" - > "rechercher" newtonsoft json". -> cliquez sur "installer".

122
répondu Sam Leach 2017-08-31 19:11:33

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

après installation,

utilisez l'espace de noms suivant

using Newtonsoft.Json;

puis utiliser ce qui suit pour desérialiser

JsonConvert.DeserializeObject
28
répondu Krishna Deepak 2014-08-26 06:44:46

installez-le en utilisant NuGet:

Install-Package Newtonsoft.Json



postant ce comme réponse.

12
répondu Zanon 2017-05-23 10:31:28

Outils -> Gestionnaire De Package NuGet -> Gestionnaire De Paquets De La Console

PM> Install-Package Newtonsoft.Json
2
répondu Aminur Rahman 2017-10-23 17:34:43

ou si vous utilisez dotnet Core,

ajouter à votre .fichier csproj

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

et

dotnet restore
1
répondu andrew lorien 2017-08-31 07:38:34

Linux

si vous utilisez Linux et .net Core, voir la question ,vous voudrez utiliser

dotnet add package Newtonsoft.Json

et ajouter

using Newtonsoft.Json;

à toutes les classes qui en ont besoin.

1
répondu Evan Carroll 2017-12-29 07:55:40

si vous êtes développer un .net WebAPI Core ou un site Web, vous n'avez pas besoin d'installer newtownsoft.json pour effectuer la sérialisation json/deserealization

assurez-vous simplement que votre méthode de controller retourne un 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 ." colis

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

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

1
répondu Mauricio Gracia Gutierrez 2018-06-12 10:58:12