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
aux références mais je n’ai pas eu de chance. Comment puis-je résoudre cette erreur?
JsonConvert
provient de l’espace de noms Newtonsoft.Json
, pas System.ServiceModel.Web
Utilisez NuGet
pour télécharger le package
“Projet” -> “Gérer les paquets NuGet” -> “Rechercher” newtonsoft json “. -> cliquer sur” installer “.
Manage NuGet Packages..
clic droit sur le projet et sélectionnez Manage NuGet Packages..
Dans ce cas, 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
Installez-le en utilisant NuGet:
Install-Package Newtonsoft.Json
Afficher cela comme une réponse.
Ou si vous utilisez dotnet Core,
append à votre fichier .csproj
Et
dotnet restore
Outils -> Gestionnaire de packages NuGet -> Console du gestionnaire de packages
PM> Install-Package Newtonsoft.Json
Si vous utilisez Linux et .NET Core, consultez cette question , vous voudrez utiliser
dotnet add package Newtonsoft.Json
Et puis ajoutez
using Newtonsoft.Json;
à toutes les classes qui en ont besoin.
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érealisation json
Assurez-vous simplement que votre méthode de contrôleur renvoie un JsonResult
et appelez return Json(
comme cet exemple
namespace WebApi.Controllers { [Produces("application/json")] [Route("api/Accounts")] public class AccountsController : Controller { // GET: api/Transaction [HttpGet] public JsonResult Get() { List 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 package 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 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