it-swarm.com.de

Wie importiere ich JsonConvert in der C # -Anwendung?

Ich habe ein C #-Bibliotheksprojekt erstellt. Das Projekt hat diese Zeile in einer Klasse:

JsonConvert.SerializeObject(objectList);

Ich bekomme eine Fehlermeldung 

der Name JsonConvert ist im aktuellen Kontext nicht vorhanden. 

Um das zu beheben, habe ich System.ServiceModel.Web.dll zu Referenzen hinzugefügt, hatte aber kein Glück. Wie kann ich diesen Fehler beheben?

68
Jainendra

JsonConvert stammt aus dem Namespace Newtonsoft.Json, nicht System.ServiceModel.Web

Verwenden Sie NuGet, um die package herunterzuladen.

"Projekt" -> "NuGet-Pakete verwalten" -> "Suche nach" Newtonsoft Json ". -> Klicken Sie auf" Installieren ".

136
Sam Leach

klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie Manage NuGet Packages.. Wählen Sie dann Json.NET und installieren Sie

Nach der Installation,

verwenden Sie den folgenden Namespace

using Newtonsoft.Json;

verwenden Sie dann die folgenden Anweisungen, um zu deserialisieren

JsonConvert.DeserializeObject
30
Krishna Deepak

Installieren Sie es mit NuGet:

Install-Package Newtonsoft.Json


Buchung dies als Antwort.

14
Zanon

Linux

Wenn Sie Linux und .NET Core verwenden, lesen Sie diese Frage , die Sie verwenden möchten

dotnet add package Newtonsoft.Json

Und dann hinzufügen 

using Newtonsoft.Json;

zu allen Klassen, die das brauchen.

2
Evan Carroll

Extras -> NuGet Package Manager -> Package Manager Console

PM> Install-Package Newtonsoft.Json
2
Aminur Rahman

Oder wenn Sie dotnet Core verwenden, 

fügen Sie Ihrer .csproj-Datei hinzu

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

Und 

dotnet restore
1
andrew lorien

Wenn Sie Entwickeln eines .Net Core WebApi oder einer WebSite sind, müssen Sie newtownsoft.json nicht installieren, um die Json-Serialisierung/Deserealisierung durchzuführen

Stellen Sie einfach sicher, dass Ihre Controller-Methode eine JsonResult zurückgibt, und rufen Sie return Json(<objectoToSerialize>); wie in diesem Beispiel auf

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

Wenn Sie ein .Net Framework WebApi oder eine WebSite entwickeln, müssen Sie NuGet verwenden, um das Paket newtonsoft json herunterzuladen und zu installieren

"Projekt" -> "NuGet-Pakete verwalten" -> "Suche nach" Newtonsoft Json ". -> Klicken Sie auf" Installieren ".

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

Weitere Einzelheiten finden Sie hier - https://docs.Microsoft.com/de-de/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1

Nach der Installation des Pakets müssen Sie die Datei newtonsoft.json.dll in den Assemble-Pfad einfügen, indem Sie den fließenden Befehl ausführen.

Bevor wir unsere Assembly verwenden können, müssen wir sie dem globalen Assembly-Cache (GAC) hinzufügen. Öffnen Sie erneut die Eingabeaufforderung von Visual Studio 2008 (für Vista/Windows7/etc. Öffnen Sie sie als Administrator). Führen Sie den folgenden Befehl aus . Gacutil/i d:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll

fließen Sie diesen Link, um weitere Informationen zu erhalten http://Microsoft-ssis.blogspot.com/2011/05/referencing-custom-Assembly-inside.html

0
shiv roy