Newtonsoft.Json für C# (.NET): Vollständiger Leitfaden mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Newtonsoft.Json und wozu wird es benötigt?

\n\n

Newtonsoft.Json (oft einfach Json.NET genannt) ist die beliebteste und leistungsstärkste Bibliothek für die Arbeit mit dem JSON-Format im .NET-Ökosystem. Sie bietet C#-Entwicklern leistungsstarke und flexible Werkzeuge zur Serialisierung (Umwandlung von C#-Objekten in einen JSON-String) und Deserialisierung (Umwandlung eines JSON-Strings zurück in C#-Objekte).

\n\n

Wozu wird sie benötigt? JSON (JavaScript Object Notation) ist zum De-facto-Standard für den Datenaustausch zwischen Webservern und Clients, in Konfigurationsdateien, in APIs und Datenbanken (z. B. NoSQL) geworden. Newtonsoft.Json ermöglicht:

\n
    \n
  • Einfache Integration mit beliebigen REST-APIs — Senden und Empfangen von Daten im JSON-Format.
  • \n
  • Arbeiten mit Konfigurationen — Lesen und Schreiben von JSON-Konfigurationsdateien.
  • \n
  • Verwalten komplexer Strukturen — Unterstützt verschachtelte Objekte, Arrays, Wörterbücher und dynamische Typen.
  • \n
  • Anpassen des Serialisierungsprozesses — mithilfe von Attributen und Einstellungen (Verträge, Eigenschafts-Ignorierung, Datumsformatierung usw.).
  • \n
\n\n

Installation von Newtonsoft.Json

\n\n

Im Gegensatz zu Python (wo pip install verwendet wird) oder Node.js (npm install) wird im .NET-Ökosystem der Paketmanager NuGet verwendet. Die Bibliothek kann auf verschiedene Weisen installiert werden:

\n\n

Methode 1: Über die Paket-Manager-Konsole (Visual Studio)

\n

Öffnen Sie Extras → NuGet-Paket-Manager → Paket-Manager-Konsole und führen Sie den folgenden Befehl aus:

\n
Install-Package Newtonsoft.Json
\n\n

Methode 2: Über die .NET CLI (plattformübergreifend)

\n

Wenn Sie .NET Core / .NET 5+ verwenden und im Terminal arbeiten, führen Sie Folgendes aus:

\n
dotnet add package Newtonsoft.Json
\n\n

Methode 3: Über die Visual Studio-Oberfläche

\n

Klicken Sie mit der rechten Maustaste auf das Projekt → „NuGet-Pakete verwalten“ → suchen Sie auf der Registerkarte „Durchsuchen“ nach Newtonsoft.Json und klicken Sie auf „Installieren“.

\n\n

Fügen Sie nach der Installation am Anfang der Codedatei die Direktive using Newtonsoft.Json; hinzu.

\n\n

Schnellstart: Codebeispiel

\n\n

Sehen wir uns anhand eines einfachen Beispiels sofort an, wie die Bibliothek funktioniert. Angenommen, wir haben eine Klasse Person:

\n\n
using System;\nusing Newtonsoft.Json;\n\npublic class Person\n{\n    public string Name { get; set; }\n    public int Age { get; set; }\n    public string Email { get; set; }\n}\n\nclass Program\n{\n    static void Main()\n    {\n        // 1. Objekt erstellen\n        var person = new Person\n        {\n            Name = "Anna",\n            Age = 30,\n            Email = "anna@example.com"\n        };\n\n        // 2. Serialisierung: Objekt -> JSON\n        string json = JsonConvert.SerializeObject(person, Formatting.Indented);\n        Console.WriteLine("Serialisiertes JSON:");\n        Console.WriteLine(json);\n\n        // 3. Deserialisierung: JSON -> Objekt\n        string jsonInput = @"{'Name':'Ivan','Age':25,'Email':'ivan@example.com'}";\n        Person deserializedPerson = JsonConvert.DeserializeObject<Person>(jsonInput);\n        Console.WriteLine($"\\nDeserialisiertes Objekt: {deserializedPerson.Name}, {deserializedPerson.Age}");\n    }\n}
\n\n

Ausgabe:

\n
Serialisiertes JSON:\n{\n  "Name": "Anna",\n  "Age": 30,\n  "Email": "anna@example.com"\n}\n\nDeserialisiertes Objekt: Ivan, 25
\n\n

Wichtige Methoden und Funktionen von Newtonsoft.Json

\n\n

Nachfolgend sind 10 wichtige Methoden/Funktionen der Bibliothek mit detaillierter Beschreibung und Beispielen aufgeführt.

\n\n

1. JsonConvert.SerializeObject()

\n

Was es tut: Konvertiert ein .NET-Objekt in einen JSON-String.

\n

Parameter:

\n
    \n
  • value (object) — Das zu serialisierende Objekt.
  • \n
  • formatting (Nullable<Form

Empfehlungen