Heim  >  Artikel  >  Backend-Entwicklung  >  JSON-Parser in C#

JSON-Parser in C#

PHPz
PHPzOriginal
2024-09-03 15:33:301005Durchsuche

Die JSON-Analyse (JavaScript Object Notation) ist sprachunabhängig, ein leichtes Datenaustauschformat, selbstbeschreibend und leicht zu verstehen. Der JSON-Parser ist eine Alternative zu XML. Es stellt Objekte im strukturellen Textformat dar und die Daten werden in Schlüssel-Wert-Paaren gespeichert. Die Erweiterung des JSON-Dateinamens ist .json. Die JSON-Klassen ermöglichen die Serialisierung der Objekte in JSON-Text und die Deserialisierung von JSON-Text in Objekte. Es verfügt über eine integrierte Unterstützung von UTF-8.

Syntax:

Sehen wir uns die Syntax für JSON (JavaScript Object Notation) wie folgt an:

  • Die Methode Jobject.Parse() ist eine Objektklassenmethode und wird zum Parsen der JSON-Zeichenfolge in die Objekte von C# verwendet. Basierend auf dem Schlüsselwert analysiert es die Daten der Zeichenfolge und ruft die Daten dann mithilfe der Schlüsselwerte ab. Für die Parse-Methode lautet die Syntax wie folgt:
Jobject.Parse(jsonStringName);
  • Eine weitere Methode zum Parsen des JSON-Strings ist die Verwendung von JsonConvert.DeserializeObject(), das zur JsonConvert-Klasse gehört. Sehen wir uns die Syntax unten an,
JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);
  • Parsen Sie den JSON-String mit JavaScriptSerialize(). Deserialize()-Methode, diese Methode wird nur auf die neuesten Versionen von .NET angewendet; Sehen wir uns die Syntax unten an
JavaScriptSerializer(). Deserialize<CustomClassName>(jsonString);

Wie funktioniert der JSON-Parser in C#?

JSON (JavaScript Object Notation) ist ein leichtes Datenaustauschformat, das von Menschen leicht geschrieben und gelesen und von Maschinen analysiert und generiert werden kann. Es bietet hohe Leistung und weniger Speicherplatzzuweisung. Es gibt viele Steuerelemente von Drittanbietern, um Daten von der Clientseite zur Serverseite im JSON-String-Format bereitzustellen, und es ist wichtig, den JSON-String in ein geeignetes Objekt umzuwandeln, um auf die Daten zuzugreifen. Steuerelemente von Drittanbietern wie das Kendo UI Grid, und so weiter. Dabei gibt es eine integrierte UTF-8-Unterstützung.
Die Methode Jobject.Parse() ist eine Objektklassenmethode und wird zum Parsen der JSON-Zeichenfolge in die Objekte von C# verwendet. Basierend auf dem Schlüsselwert analysiert es die Daten der Zeichenfolge und ruft die Daten mithilfe der Schlüsselwerte ab. Sehen wir uns unten das JSON-Parsing-Format und den Arbeitsablauf an,

{
string jsonString = @"{
'user_FirstName':'Peter',
'user_LastName':'Paul'
}";
By using the JSON parsing method we can convert and retrieve as follows,
var getResult = JObject.Parse(jsonString);

Auf diese Weise können wir die Daten abrufen.

Eine weitere Methode zum Parsen des JSON-Strings ist die Verwendung von JsonConvert.DeserializeObject(), das zur JsonConvert-Klasse gehört. Die Methode namens JsonConvert.DeserializeObject() konvertiert den JSON-String in das C#-Objekt. Der JSON-String erstellt diese Objekte. Das für diese Methode verwendete Format ist wie folgt:

JsonConvert.DeserilizeObject<CustomClassName>(JsonStringName);

Erstellen Sie eine Klasse namens UserDetails mit den Attributen First_Name und Last_Name, um die Daten im unten gezeigten JSON-Format einzugeben und die Ergebnisse dieser Funktion zu erhalten.

var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";

So konvertieren Sie die Daten wie folgt:

var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);

Um den JSON-String mit JavaScriptSerialize() zu analysieren. Die Deserialize()-Methode wird nur auf die späteren Versionen von .NET angewendet; Diese Methode gilt nicht für frühere Versionen. Zu diesem Zweck können wir die ersten beiden Methoden verwenden, um den JSON-String in C#-Objekte zu konvertieren. Das für diese Methode verwendete Format ist wie folgt:

JavaScriptSerializer().Deserialize<CustomClassName>(jsonString);
To create the class with UserDetails as follows,
class UserDetails
{
public string userName { get; set; }
public int userAge { get; set; }
}

Um die Details des Benutzers für die Konvertierung von JSON- in C#-Objekte wie folgt einzugeben,

var input_json = @"{""name"":""Peter Paul"",""age"":49}";

So konvertieren Sie JSON in C#-Objekte, indem Sie die unten stehende Methode serializer() wie folgt verwenden:

var resultObject = new JavaScriptSerializer().Deserialize<UserDetails>(input_json);

.NET Framework unterstützt die Klassen zum Deserialisieren und Serialisieren in JSON mithilfe der Klasse, die wir mit DataContractJsonSerializer verwenden. Mithilfe des folgenden Codes können wir die JSON-Objekte deserialisieren. Um die Methode verwenden zu können, müssen wir einige Verfahren wie folgt durchführen:

Die Anwendung muss über die Referenz der System.Runtime.Serialization-Bibliothek verfügen.

Die gesamte Klasse sollte DataContract haben und die Attribute müssen DataMember-Attribute haben.

[DataContract]
public class USerDetails
{
[DataMember]
public string First_Name {
get; set;
}
[DataMember]
public string Last_Name {
get; set;
}
}
  • Wir müssen die WriteObject-Methode verwenden, um ein Objekt zu serialisieren, und die ReadObject-Methode, um die JSON-Objekte zu deserialisieren.
string get_json = "{ \"First_Name\":\"Smith\",\"LastName\":\"Rio\" }";

DataContractJsonSerializerjsonSerializer = newDataContractJsonSerializer(typeof(USerDetails));

Json.NET ist das beste Framework für die Arbeitsumgebung. NETTO. Es gibt viele Vorteile und Funktionen von JSON, wie folgt:

  • Es handelt sich um die flexible Konvertierung des JSON-Serialisierungsprogramms zwischen .NET-Objekten und JSON.
  • Es wird das manuelle Schreiben und Lesen von JSON von LINQ to JSON geben
  • Es arbeitet schneller als .NET und verfügt über integrierte JSON-Serialisierer mit Hochleistungsdaten.
  • Einfach zu lesendes JSON und eingerücktes Schreiben.
  • Die Konvertierung zwischen JSON und XML ist einfach.

Beispiele

Programm #1

Die Methode Jobject.Parse() ist eine Objektklassenmethode und wird zum Parsen der JSON-Zeichenfolge in die Objekte von C# verwendet. Basierend auf dem Schlüsselwert analysiert es die Daten der Zeichenfolge und ruft die Daten mithilfe der Schlüsselwerte ab. Sehen wir uns unten die JSON-Parsing-Implementierung an,

using System;
using Newtonsoft.Json.Linq;
namespace JSONParsing
{
public class Parsing
{
public static void Main(string[] args)
{
string jsonString = @"{
'user_FirstName':'Peter',
'user_LastName':'Paul'
}";
//Using the JSON-parse method here
var getResult = JObject.Parse(jsonString);
Console.WriteLine("\n\tUsing JSON-Parse Method");
Console.WriteLine(string.Concat("\n\tDisplaying User First and Last Name: ", getResult["user_FirstName"], " " + getResult["user_LastName"], "."));
}
}
}

Ausgabe:

JSON-Parser in C#

Program #2

To parse the JSON String using JsonConvert.DeserializeObject(), which belongs to the JsonConvert class, the method called JsonConvert.DeserializeObject() converts the JSON string to the C# object. The JSON string creates those objects.

using System;
using Newtonsoft.Json;
namespace JSONParse_Program
{
public class UserDetails
{
public string First_Name
{
get; set;
}
public string Last_Name
{
get; set;
}
}
public class Parsing
{
public static void Main(string[] args)
{
var get_jsonString = @"{'First_Name': 'Peter', 'Last_Name': 'Paul'}";
//Use of the method
var result = JsonConvert.DeserializeObject < UserDetails > (get_jsonString);
Console.WriteLine("JSON-Parse Method\n");
Console.WriteLine(string.Concat("\nDisplaying First and Last Name, ", result.First_Name, " " + result.Last_Name, "."));
}
}
}

Output:

JSON-Parser in C#

Conclusion

In this article, I have explained the usage of JSON parser; for example, by using those methods, we can parse the JSON in the C# program and extract values.

Das obige ist der detaillierte Inhalt vonJSON-Parser in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:C#-DataTable-FilterNächster Artikel:C#-DataTable-Filter