Einführung in JSON-Objekte

Die grundlegenden Konzepte von JSON-Objekten

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiert

JSON-Objekte

JSON-Objekte sind Objektdarstellungen von JSON-Daten. Jedes Schlüssel-Wert-Paar in JSON-Daten wird als Eigenschaften und Werte des Objekts gespeichert. In Frends ist dasNewtonSoft.JsonDie Bibliothek wird verwendet, um Objekte aus JSON-Daten zu erstellen. Neben der Speicherung von JSON-Daten in Objekten profitieren Sie auch von den Vorteilen der objektorientierten Programmierung, da JSON-Objekte Methoden und Eigenschaften von der Objektklasse erben. Objekte ermöglichen im Vergleich zu JSON-Rohdaten auch verschiedene Möglichkeiten der effizienten Datenverarbeitung. In diesem Modul werden wir uns die am häufigsten verwendeten JSON-Objekte in Frends ansehen.

JObjekt

Die JObject-Klasse ist eine Objektdarstellung eines einzelnen JSON-Objekts. Dieses Objekt enthält Eigenschaften, die JSON-Schlüssel darstellen. Diese Eigenschaften haben Werte, die JSON-Schlüsselwerte darstellen. Sehen wir uns die folgenden Beispiel-JSON-Daten aus einem Frends C#-Ausdruckselement an.

Hier haben wir JSON-Daten mit drei Schlüsseln: Vorname, Nachname und Alter mit den Werten Erik, Beispiel und 20. Wir speichern diesen Wert in einer Variable namens „json“. Im Hintergrund ist dies eine JSON-Zeichenfolge.

Wir können diesen JSON-String dann auf zwei Arten in ein JObject parsen: mit einemFrends.JSON.ConvertJsonStringToJTokenTask oder die statische JObject-KlassenmethodeAnalysieren. Mit einem ConvertJsonStringToJToken-Task können Sie den JSON-String einfach als Parameter an den Task übergeben und das Ergebnis des Tasks ist einJToken, das der Klasse JObject übergeordnet ist und sich größtenteils wie ein JObject verhält.

Die zweite Möglichkeit besteht darin, die statische Methode JObject.Parse() in einem C#-Ausdruckselement zu verwenden, in dem Sie den JSON-String als Parameter übergeben. Anschließend können Sie das erstellte JObject in einer Variablen speichern.

Nachdem wir das Objekt erstellt haben, können wir wie bei jedem anderen Objekt mithilfe der Punktnotation auf die Werte zugreifen.

Manchmal enthalten die JSON-Daten Sonderzeichen in den Schlüsseln, wie Leerzeichen oder Schrägstriche, die sich nicht gut in Objekteigenschaften umwandeln lassen, da es sich dabei um ungültige Zeichen handelt. In diesen Fällen können Sie Klammern verwenden, um auf die Daten zuzugreifen. Oben sehen Sie ein Beispiel für JSON-Daten, die einen Schlüssel mit dem Namen „Home Address“ enthalten.

Da der Schlüssel ein Leerzeichen enthält, können Sie die Punktnotation nicht verwenden, um auf diese Daten zuzugreifen. Sie können jedoch Klammern verwenden, um auf diesen Schlüssel zuzugreifen. Nachdem Sie die Daten mithilfe einer Frends.JSON.ConvertJsonStringToJToken-Aufgabe oder der JObject.Parse-Methode analysiert haben, können Sie mithilfe von Klammern auf die Daten zugreifen, wie unten gezeigt.

JArray

Manchmal enthalten die JSON-Daten mehrere Objekte, die wir verarbeiten müssen. Nehmen wir an, wir hätten JSON-Daten mit mehreren Personenobjekten, die wir im obigen Beispiel verarbeitet haben. Unten sehen Sie ein Beispiel für solche JSON-Daten, die wir in einer Variable speichern.

Wir können die JSON-Daten dann mithilfe der Aufgabe Frends.JSON.ConvertJsonStringToJToken in ein JObject parsen, und zwar auf dieselbe Weise, wie wir es oben mit dem einzelnen JSON-Datenelement getan haben. Die Methode JObject.Parse funktioniert nicht, da die Daten kein einzelnes JSON-Datenelement sind, sondern ein Array mit mehreren JSON-Dateneinträgen. Daher müssen wir die Methode JArray.Parse verwenden, um aus den Daten ein JArray zu erstellen.

Wir können dann auf jeden Wert im JArray auf dieselbe Weise wie auf jedes andere Array zugreifen, indem wir Indizes verwenden. Sie können sich JArray grundsätzlich als ein Array von Objekten vorstellen.

Da ein JArray im Grunde ein Array von Objekten ist, können wir das Array auch mit einem Foreach-Element iterieren. Unten sehen Sie ein Beispiel für die Parameter eines Foreach-Elements, in dem wir durch das zuvor erstellte JArray iterieren und bei jeder Iteration jeden der Werte in einer Variable namens „singleJsonData“ speichern.

Wir können dann auf die Daten jedes JObjects im JArray auf die gleiche Weise zugreifen, wie wir auf die Daten im obigen JObject-Beispiel zugegriffen haben, nämlich mithilfe der Punktnotation.

Vom Objekt zu JSON

Nachdem Sie ein JObject oder JArray erstellt und die Daten verarbeitet haben, möchten Sie das Objekt möglicherweise wieder in einen JSON-String umwandeln, damit Sie die Daten in einem anderen Element verwenden können, beispielsweise in einemFreunde.Web.RestRequestAufgabe oder eineFreunde.Csv.ErstellenAufgabe. Dies kann einfach durch den Aufruf desJToken.ToStringMethode. Da sowohl JObject als auch JArray die JToken-Klasse erben, ist die ToString-Methode in beiden Klassen verfügbar. Die Methode überschreibt die Object-Klasse.ZuStringMethode, sodass der Methodenaufruf eine JSON-Zeichenfolgendarstellung der im Objekt gespeicherten Daten zurückgibt, statt Informationen über das Objekt selbst. Unten sehen Sie ein Beispiel für die Umwandlung des obigen JArray in eine JSON-Zeichenfolge und die Daten, die durch den Methodenaufruf erzeugt werden.

Der nächste Artikel istEinführung in das Mapping von JSON-Daten mithilfe von Objekten


Verwandte ArtikelJSON-zu-JSON-Mapping mit Handlebars TaskEinführung in den LenkerEinführung in das Mapping von JSON-Daten mithilfe von ObjektenEinführung in die Verwendung von LINQ mit JSON-ObjektenEinführung in das Erstellen einer JSON-Nachricht – ein nicht ganz einfaches Beispiel