C# Parsen JSON

Minahil Noor 12 Oktober 2023
  1. C# Programm zum Parsen einer JSON-Zeichenkette mit der Methode JsonConvert.DeserializeObject()
  2. C# Programm zum Parsen einer JSON-Zeichenkette mit der Methode JObject.Parse()
  3. C# Programm zum Parsen einer JSON-Zeichenkette mit der JavaScriptSerializer().Deserialize() Methode
C# Parsen JSON

JavaScript Object Notation (JSON) ist ein Format zum Austausch von Daten. Es ist für Menschen leichter zu schreiben und für Maschinen einfacher zu verarbeiten. In C# gibt es viele Methoden, um JSON-Daten zu verarbeiten.

In diesem Artikel werden wir die Methoden besprechen, mit denen Sie JSON in ein C#-Objekt parsen können.

C# Programm zum Parsen einer JSON-Zeichenkette mit der Methode JsonConvert.DeserializeObject()

Die Methode JsonConvert.DeserializeObject() gehört zur Klasse JsonConvert. Sie wird verwendet, um eine JSON-Zeichenkette in ein C#-Objekt zu konvertieren. Das Objekt gehört zu einer benutzerdefinierten Klasse, die durch Analyse der JSON-Zeichenkette erzeugt wird.

Die korrekte Syntax zur Verwendung dieser Methode lautet wie folgt:

JsonConvert.DeserializeObject<CustomClassName>(JsonStringName);

Beispiel-Code:

using System;
using Newtonsoft.Json;

namespace JSONParsing {
  public class Parsing {
    public static void Main(string[] args) {
      var jsonString = @"{'FirstName': 'Olivia', 'LastName': 'Mason'}";
      // Use of the method
      var NameObject = JsonConvert.DeserializeObject<Name>(jsonString);
      Console.WriteLine(string.Concat("The First Name and Last Name are, ", NameObject.FirstName,
                                      " " + NameObject.LastName, "."));
    }
    // Creating custom class after analyzing JSON string
    public class Name {
      public string FirstName { get; set; }
      public string LastName { get; set; }
    }
  }
}

Ausgabe:

The First Name and Last Name are: Olivia Mason.

Diese Methode löst eine JsonSerializationException aus, wenn die Konvertierung vom JSON-Objekt in ein C#-Objekt nicht erfolgreich ist. Diese Ausnahme wird dann durch die Verwendung eines try-catch-Blocks behandelt.

C# Programm zum Parsen einer JSON-Zeichenkette mit der Methode JObject.Parse()

Die Methode JObject.Parse() ist eine Methode der Klasse JObject. Diese Parse-Methode wird verwendet, um eine JSON-Zeichenkette in ein C#-Objekt zu parsen. Sie parst die Daten einer Zeichenkette auf der Grundlage ihres Schlüssel-Wertes. Dieser Schlüsselwert wird dann verwendet, um die Daten abzurufen.

Die korrekte Syntax zur Verwendung dieser Methode lautet wie folgt:

Jobject.Parse(jsonStringName);

Beispiel-Code:

using System;
using Newtonsoft.Json.Linq;

namespace JSONParsing {
  public class Parsing {
    public static void Main(string[] args) {
      string jsonString =
          @"{
            'FirstName':'Olivia',  
            'LastName':'Mason'  
        }";
      // Use of the method
      var Name = JObject.Parse(jsonString);
      Console.WriteLine(string.Concat("The First Name and Last Name is: ", Name["FirstName"],
                                      " " + Name["LastName"], "."));
    }
  }
}

Ausgabe:

The First Name and Last Name is: Olivia Mason.

Die Methode JObject.Parse() wirft Ausnahmen, die durch die Verwendung eines try-catch-Blocks behandelt werden könnten.

C# Programm zum Parsen einer JSON-Zeichenkette mit der JavaScriptSerializer().Deserialize() Methode

Diese Methode kann in den späteren Versionen von .NET implementiert werden. Für frühere Versionen sind die beiden oben genannten Methoden am besten geeignet. Diese Methode wird verwendet, um eine JSON-Zeichenkette in ein C#-Objekt zu konvertieren.

Die korrekte Syntax zur Verwendung dieser Methode lautet wie folgt:

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString);

Beispiel-Code:

using System;
using System.Web.Script.Serialization;

class Parsing {
  static void Main() {
    var json = @"{""name"":""Olivia Mason"",""age"":19}";
    var ObjectName = new JavaScriptSerializer().Deserialize<MyInfo>(json);
    Console.WriteLine("The name is:", ObjectName.name, ".");
  }
}

class MyInfo {
  public string name { get; set; }
  public int age { get; set; }
}

Ausgabe:

The name is: Olivia Mason.

Verwandter Artikel - Csharp JSON