System.JSON.TJSONPathParser
Delphi
TJSONPathParser = class
C++
class PASCALIMPLEMENTATION TJSONPathParser : public System::TObject
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
class | public | System.JSON.pas System.JSON.hpp |
System.JSON | System.JSON |
Beschreibung
Parser eines JSON-Pfads.
Ein JSON-Pfad ist ein String, der einen Pfad zu einem angegebenen Element innerhalb von JSON-Daten festlegt. Ein JSON-Pfad ist für JSON, was XPath (EN) für XML ist.
Unterstützte Syntax für JSON-Pfade
TJSONPathParser implementiert eine Untermenge der von Stefan Gössner definierten JSON-Pfad-Spezifikation (JSON path specification defined by Stefan Gössner (EN)). Ausdrücklich unterstützte Elemente sind:
- Untergeordnete Operatoren für Objekte:
- Verwenden Sie
.
, um auf Objekteigenschaften zu zugreifen, die keinen Punkt in ihren Namen enthalten. Verwenden Sie beispielsweiseroot.child
, um auf die Eigenschaftchild
des Objektsroot
zu zugreifen. - Verwenden Sie
[]
, um auf Objekteigenschaften zu zugreifen, die Anführungszeichen in ihren Namen enthalten. Verwenden Sie beispielsweiseroot['child.name']
oderroot["child.name"]
, um auf die Eigenschaftchild.name
des Objektsroot
zu zugreifen.
- Verwenden Sie
- Indizierungsoperator (
[]
) für Arrays. Verwenden Sie beispielsweiseroot[0]
, um auf das erste Element des Arraysroot
zu zugreifen.
Diese Operatoren unterstützen keine speziellen Ausdrücke, sondern nur tatsächliche Werte (Objekteigenschaften oder Array-Index).
Verwenden von TJSONPathParser
Beim Erstellen einer Instanz von TJSONPathParser müssen Sie den Ziel-JSON-Pfad an den Konstruktor übergeben.
Rufen Sie nach dem Erstellen einer Instanz von TJSONPathParser NextToken auf, um durch die Token des angegebenen JSON-Pfads zu iterieren, bis IsEof True
ist oder NextToken ein Error-Token zurückgibt.
Token enthält das Token, das vom letzten Aufruf von NextToken zurückgegeben wurde.
Ein Codebeispiel zur Verwendung von TJSONPathParser finden Sie bei der Implementierung von TJSONIterator.Find.