Looking for json.net Keywords? Try Ask4Keywords

json.netErste Schritte mit json.net


Bemerkungen

[Json.NET] [1] ist ein beliebtes Hochleistungs-JSON-Framework für .NET. Es ist eine .Net Assembly, die eine Vielzahl von Klassen und Methoden verfügbar macht, um allgemeine Aufgaben mit json-Daten auszuführen.

Dazu gehört die Möglichkeit, Json-Daten in Klasseninstanzen zu serialisieren, Datendateien zu deserialisieren und Json-Daten zu deserialisieren, die aus vielen verschiedenen Quellen .json können, z.

Versionen

Ausführung Veröffentlichungsdatum
Json.NET 9.0.1 (aktuelle Version) 2016-06-22
Json.NET 8.0.3 2016-03-14
Json.NET 8.0.2 2016-01-09
Json.NET 8.0.1 2015-12-29
Json.NET 7.0.1 2015-06-22
Json.NET 6.0.8 2015-01-11
Json.NET 6.0.7 2014-12-23
Json.NET 6.0.6 2014-10-24
Json.NET 6.0.5 2014-09-06
Json.NET 6.0.4 2014-08-03
Json.NET 6.0.3 2014-04-27
Json.NET 6.0.2 2014-03-30
Json.NET 6.0.1 2014-02-01
Json.NET 5.0.8 2013-10-17
Json.NET 5.0.7 2013-10-14
Json.NET 5.0.6 2013-06-06
Json.NET 5.0.5 2013-05-08
Json.NET 5.0.4 2013-04-25
Json.NET 5.0.3 2013-04-14
Json.NET 5.0.2 2013-04-08
Json.NET 5.0.1 2013-04-07
Json.NET 4.5.11 2012-11-20
Json.NET 4.5.10 2012-10-07
Json.NET 4.5.9 2012-09-08
Json.NET 4.5.8 2012-08-04
Json.NET 4.5.7 2012-06-09
Json.NET 4.5.6 2012-05-30
Json.NET 4.5.5 2012-05-08
Json.NET 4.5.4 2012-04-24
Json.NET 4.5.3 2012-04-13
Json.NET 4.5.2 2012-04-11
Json.NET 4.5.1 2012-03-20
Json.NET 4.0.8 2012-02-12
Json.NET 4.0.7 2012-01-24
Json.NET 4.0.6 2012-01-23
Json.NET 4.0.5 2011-12-10
Json.NET 4.0.4 2011-11-19
Json.NET 4.0.3 2011-10-02
Json.NET 4.0.2 2011-04-23
Json.NET 4.0.1 2011-04-22
Json.NET 3.5.8 2011-01-08

So deserialisieren Sie JSON-Daten in Object mithilfe von Json.Net in C #

Das folgende Beispiel zeigt, wie Sie eine JSON-Zeichenfolge deserialisieren können, die in ein Objekt (dh in eine Instanz einer Klasse) enthalten ist.

using System;
using System.Collections.Generic;
using Newtonsoft.Json;
                    
public class Program
{
    public class Employee
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public bool IsManager { get; set; }
        public DateTime JoinedDate { get; set; }
        public IList<string> Titles { get; set; }
    }
    
    public static void Main()
    {
        string json = @"{
                          'FirstName': 'Shiva',
                          'LastName': 'Kumar',
                          'IsManager': true,
                          'JoinedDate': '2014-02-10T00:00:00Z',
                          'Titles': [
                            'Sr. Software Engineer',
                            'Applications Architect'
                          ]
                        }";
        
        Employee employee = JsonConvert.DeserializeObject<Employee>(json);

        Console.WriteLine(employee.FirstName);
        Console.WriteLine(employee.LastName);
        Console.WriteLine(employee.JoinedDate);
        foreach (string title in employee.Titles)
        {
            Console.WriteLine("  {0}", title);    
        }
    }
}
 

Wenn Sie dieses Konsolenprogramm ausführen, wird die Ausgabe der verschiedenen Console.WriteLine Anweisungen wie folgt ausgegeben.

Shiva
Kumar
2/10/2014 12:00:00 AM
  Sr. Software Engineer
  Applications Architect
 

Nur wenige Dinge zu beachten

  1. Die folgende Zeile führt die tatsächliche Deserialisierung der Daten in der Json-Zeichenfolge in die employee Objektinstanz der Employee Klasse aus.

Employee employee = JsonConvert.DeserializeObject<Employee>(json);

  1. Da employee.Titles Typ List<string> , verwenden wir das foreach Schleifenkonstrukt, um jedes Element in dieser List zu durchlaufen.

So installieren Sie Json.Net in Visual Studio-Projekten

Sie können Json.Net auf eine von zwei Arten in Ihr Visual Studio-Projekt installieren.

Installieren Sie Json.Net mithilfe der Package Manager Console.

  1. Öffnen Sie die Package Manager Konsolenfenster in Visual Studio entweder durch Paket - Manager - Konsole in dem Schnellstartfeld eingeben und auswählen

Geben Sie hier die Bildbeschreibung ein

oder indem Sie auf Ansicht -> Andere Windows -> Package Manager Console klicken.

  1. Wenn die Package Manager Console angezeigt wird, wählen Sie das Projekt in Ihrer Lösung aus, in das Sie Json.Net installieren möchten. Wählen Sie es in der Dropdown-Liste Standardprojekt aus.

Geben Sie hier die Bildbeschreibung ein

  1. Geben Sie nun den folgenden Befehl ein und drücken Sie die Eingabetaste.

Install-Package Newtonsoft.Json

  1. Dadurch wird die neueste Version von Json.Net installiert. Der Installationsfortschritt wird in der Package Manager Console angezeigt. Wenn erfolgreich, erhalten Sie die Nachricht, dass es erfolgreich in Ihrem ausgewählten Projekt installiert wurde.

Geben Sie hier die Bildbeschreibung ein

  1. Nach der erfolgreichen Installation können Sie nun die Json.Net-Assembly in den Referenzen Ihres ausgewählten Projekts sehen. Der Name der Json.Net-Assembly lautet Newtonsoft.Json

Geben Sie hier die Bildbeschreibung ein

Json.Net kann jetzt in Ihrem Projekt verwendet werden!

Installieren Sie Json.Net mit dem Visual Studio Solution Explorer.

Sie können json.net auch mit dem Projektmappen-Explorer in Visual Studio installieren.

  1. Klicken Sie in Ihrem Projekt mit der rechten Maustaste auf den Knoten Verweise und klicken Sie auf Nuget-Pakete verwalten ...

  2. Stellen Sie im Dialogfeld Nuget Package Manager sicher, dass im linken Bereich Online ausgewählt ist. Geben Sie Json.Net in das Suchfeld oben rechts ein. Dadurch wird das Json.Net Nuget-Paket in der Mitte des Suchergebnisbereichs angezeigt.

  3. Klicken Sie auf die Schaltfläche Installieren .

Geben Sie hier die Bildbeschreibung ein

  1. Der Fortschritt der Installation wird im Fortschrittsfenster angezeigt.

Geben Sie hier die Bildbeschreibung ein

  1. Nach Abschluss der Installation wird im Dialogfeld Nuget Package Manager ein grünes Häkchen neben dem Paket Json.Net angezeigt .

Geben Sie hier die Bildbeschreibung ein

  1. Sie sehen auch die Newtonsoft.Json Assembly in Ihrem Projektmappen-Explorer im Knoten Referenzen für das ausgewählte Projekt.

Geben Sie hier die Bildbeschreibung ein

Damit ist die Installation von Json.Net abgeschlossen. Sie können es jetzt in Ihrem Projekt verwenden, um verschiedene Vorgänge mit json-Daten durchzuführen.

So serialisieren Sie ein Objekt in JSON mit Json.Net in C #

Das folgende Beispiel zeigt, wie Sie Json.Net verwenden können, um die Daten in der Instanz eines C # -Objekts in eine JSON-Zeichenfolge zu serialisieren.

using System;
using System.Collections.Generic;
using Newtonsoft.Json;

public class Employee
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public bool IsManager { get; set; }
    public DateTime JoinedDate { get; set; }
    public IList<string> Titles { get; set; }
}
                    
public class Program
{
    public static void Main()
    {
        Employee employee = new Employee
        {
            FirstName = "Shiva",
            LastName = "Kumar",            
            IsManager = true,
            JoinedDate = new DateTime(2013, 1, 20, 0, 0, 0, DateTimeKind.Utc),
            Titles = new List<string>
            {
                "Sr. Software Engineer",
                "Applications Architect"
            }
        };

        string json = JsonConvert.SerializeObject(employee, Formatting.Indented);


Console.WriteLine(json);
        
    }
}
 

Wenn Sie dieses Konsolenprogramm ausführen, wird die Ausgabe von Console.WriteLine(json) ausgegeben

{
  "FirstName": "Shiva",
  "LastName": "Kumar",
  "IsManager": true,
  "JoinedDate": "2013-01-20T00:00:00Z",
  "Titles": [
    "Sr. Software Engineer",
    "Applications Architect"
  ]
}
 

Nur wenige Dinge zu beachten

  1. Die folgende Zeile führt die tatsächliche Serialisierung der Daten in der Instanz der employee in eine Json-Zeichenfolge aus

    string json = JsonConvert.SerializeObject(employee, Formatting.Indented);

  2. Der Parameter Formatting.Indented weist Json.Net an, die Daten mit Einzug und neuen Zeilen zu serialisieren. Wenn Sie dies nicht tun, ist der serialisierte String ein langer String ohne Einrückung oder Zeilenumbrüche.