Beispiel zur Verwendung von LINQ in Code und LINQ-Ressourcen

Verwenden von LINQ mit JSON, XML und anderen Datasets

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Verwenden von LINQ im Code

LINQ (Language Integrated Query) ist eine einheitliche Abfragesyntax in C#, die zum Abrufen von Daten aus verschiedenen Quellen und Formaten verwendet wird. LINQ kann mit Objekten wie JSON, XML und anderen Datensätzen verwendet werden. LINQ kann in SQL geschrieben werden, wie inAbfrageausdrückeoder in kürzerer FormLambda-Ausdrücke. In diesem Tutorial werden Abfrageausdrücke verwendet.

Das Beispiel im Kurs verwendet LINQ. Das Tutorial bringt Ihnen LINQ selbst jedoch nicht bei. Der Schwerpunkt des Kurses liegt auf der Einführung in die Verwendung des Code-Elements. Das Beispielmaterial stammt aus einem Newtonsoft-Handbuch. Das Beispiel erstellt eine Liste mit Titeln von Blog-Posts aus JSON-Daten.

Bevor wir näher auf das Beispiel eingehen, sollten Sie einige Punkte beachten:

  • Obwohl Frends Ihnen die Möglichkeit bietet, Ihren eigenen Code zu schreiben, besteht die oberste Priorität darin, vordefinierte Tasks aus der Task-Bibliothek zu verwenden.

  • Beim Implementieren von C#-Code in Prozesse sollten Sie die Erstellung einer neuen benutzerdefinierten Aufgabe in Betracht ziehen, falls der C#-Code hinsichtlich der Codemenge oder der Codekomplexität zunimmt.

  • Wenn der erstellte C#-Code in mehrere Prozesse dupliziert wird, ist die Wartung des Codes mühsam.

Beispielprozess:

Der Beispielprozess selbst ist ziemlich einfach und unkompliziert. Er enthält neben Trigger- und Ergebniselementen drei Aufgaben.

Studieren Sie die Aufgabenkonfigurationen aus der folgenden Beschreibung. Falls Sie eine Frends-Umgebung verwenden, wird empfohlen, dass Sie den Prozess implementieren, während Sie den Kursinhalt studieren.

Prozesstaskkonfigurationen

Die Aufgabe „JSON zuweisen“ speichert JSON-Daten in einer Variable namens „json“. Später im Prozess wird auf diese Variable mit der Referenz #var.json verwiesen. In einer realen Lösung wären die JSON-Daten höchstwahrscheinlich das Ergebnis eines API-Aufrufs.

Von hier aus können Sie die JSON-Daten in Ihren eigenen Prozess kopieren:

@"{ 'channel': { 'title': 'James Newton-King', 'link': 'http://james.newtonking.com', 'description': 'James Newton-Kings Blog.', 'item': [ { 'title': 'Json.NET 1.3 + Neue Lizenz + Jetzt auf CodePlex', 'description': 'Ankündigung der Veröffentlichung von Json.NET 1.3, der MIT-Lizenz und des Quellcodes auf CodePlex', 'link': 'http://james.newtonking.com/projects/json-net.aspx', 'categories': [ 'Json.NET', 'CodePlex' ] }, { 'title': 'LINQ to JSON Beta', 'description': 'Ankündigung von LINQ to JSON', 'link': 'http://james.newtonking.com/projects/json-net.aspx', 'categories': [ 'Json.NET', 'LINQ' ] } ] } }"

Die nächste Aufgabe, „JSON in JToken konvertieren“, macht, was der Name der Aufgabe sagt: Sie konvertiert die Daten in JToken.

Die letzte Aufgabe im Prozess heißt „Titel zuweisen“ und ist ein C#-Elementtyp. Der Code in der Elementkonfiguration ist eine LINQ-Abfrage. Die Abfrage erstellt eine Liste von Blogtiteln aus JSON-Daten. Das zurückgegebene Ergebnis des C#-Codes wird in einer Variable namens „Titel“ gespeichert.

Kopieren Sie den unten stehenden Code in Ihren eigenen Prozess.

{ var postTitles = from p in ((JObject)#result[JSON in JToken konvertieren].Jtoken)["Kanal"]["Element"] select (Zeichenfolge)p["Titel"]; return postTitles; }

Schließlich wird das Return-Element so eingestellt, dass es #var.titles zurückgibt.

Ergebnis der Prozessausführung

Jetzt können Sie den Prozess speichern und ausführen. Das Ergebnis sollte wie folgt aussehen:

LINQ-Ressourcen

Weitere Informationen zu LINQ finden Sie in den folgenden Quellen:

Microsoft Language Integrated Query (LINQ) (C#)

Newtonsoft Beispielquelle

Der nächste Artikel istBeispiel für komplexeren C#-Code



Verwandte ArtikelEinführung in C#-Datentypen in FrendsSo verwenden Sie LINQ in Frends zur Datenextraktion und -manipulationBeispiel zur Verwendung von Low-Code-Referenzen zur NachrichtenerstellungEinführung in die Verwendung von LINQ mit JSON-ObjektenEinführung in das Erstellen einer JSON-Nachricht – ein nicht ganz einfaches Beispiel