Lesen einer JSON-Datei in C#
In diesem Lernprogramm werden Methoden zum Lesen einer JSON-Datei in C# erläutert.
Lesen einer JSON-Datei mit der Klasse JsonConvert
in C#
Mit der Klasse JsonConvert
können JSON-Daten in Objekte und Variablen eingelesen und Objekte und Variablen im JSON-Format in C# geschrieben werden. Die Klasse JsonConvert
ist im Json.net
-Framework vorhanden, das nicht vorinstalliert ist. Der Befehl zum Installieren von Json.net
ist unten angegeben.
Install-Package Newtonsoft.Json
In diesem Artikel werden die folgenden JSON-Daten verwendet.
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
Um Daten aus dieser Datei zu lesen, müssen wir zuerst eine Modellklasse erstellen, die alle Attribute enthält, die wir aus der Datei lesen möchten.
file.json:
class datamodel {
public string key1 { get; set; }
public string key2 { get; set; }
public string key3 { get; set; }
}
Jetzt haben wir eine Modellklasse, die alle Daten aus der JSON-Datei in Klassenobjekten speichert. Wir können Daten aus einer Datei mit der Funktion JsonConvert.DeserializeObject()
in C# abrufen. Die Funktion JsonConvert.DeserializeObject()
nimmt die JSON-Daten in Form einer Zeichenkettenvariablen und konvertiert sie in das angegebene Datenmodellklassenobjekt. Das folgende Codebeispiel zeigt uns, wie wir die Daten aus einer JSON-Datei in Klassenobjekten mit der Funktion JsonConvert.DeserializeObject()
in C# abrufen können.
StreamReader r = new StreamReader("file.json");
string jsonString = r.ReadToEnd();
datamodel m = JsonConvert.DeserializeObject<datamodel>(jsonString);
Wir haben einen StreamReader
- r
initialisiert, um die Datei mit den JSON-Daten file.json
zu lesen. Anschließend haben wir den jsonString
initialisiert, bei dem es sich um alle Daten in der Datei file.json
handelt. Wir haben eine Instanz der Klasse datamodel
erstellt, um den von der Funktion JsonConvert.DeserializeObject<datamodel>(jsonString)
zurückgegebenen Wert zu speichern. Dies ist die einfachste Methode zum Lesen und Schreiben von Daten aus einer JSON-Datei in C#.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn