Eigenschaften
Eingabe
Name | Beschreibung | Datentyp | Erforderlich |
---|---|---|---|
Json | Json-Struktur als String, z.B. aus HTTP-Request senden . | String | ⚠ |
Abfragetext | JMESPath-Ausdruck. | String | ⚠ |
Ausgabe
Name | Beschreibung | Datentyp |
---|---|---|
Ergebnis | Eine Liste mit den ermittelten Werten. Je nach Abfragetext kann die Liste einen einzelnen Wert oder einen Json-String beinhalten. | List<String> |
Fehlermeldungen
Beschreibung | Fehlercode | Datentyp (Exception) |
---|---|---|
Syntaxfehler, wenn der Abfragetext nicht einem gültigen JMESPath-Ausdruck entspricht |
Beispiele
Für die nachfolgenden Beispiele wird folgender Json-String verwendet:
{ "bookstore": { "book": [ { "-category": "cooking", "title": { "-lang": "en", "#text": "Everyday Italian" }, "author": "Giada De Laurentiis", "year": "2005", "price": "30.00" }, { "-category": "children", "title": { "-lang": "en", "#text": "Harry Potter" }, "author": "J K. Rowling", "year": "2005", "price": "29.99" }, { "-category": "web", "title": { "-lang": "en", "#text": "Learning XML" }, "author": "Erik T. Ray", "year": "2003", "price": "39.95" } ] } }
Ziel | Abfrage | Ergebnis |
---|---|---|
Titel aller Bücher ermitteln | bookstore.book[*].title."#text" Wenn ein Identifier ein Leerzeichen oder Sonderzeichen enthält (hier “#text“, muss der Identifier in doppelten Hochkomma gesetzt werden. |
|
Autor des 2. Buches ermitteln | bookstore.book[1].author Der Index einer Auflistung beginnt mit 0. |
|
Alle Bücher des Jahres 2005 ermitteln | bookstore.book[?(@.year=='2005')] Das Zeichen “@” bezeichnet das aktuelle Item innerhalb der Auflistung. Das Jahr ist im Json als String angegeben und muss deshalb in der Abfrage - im Gegensatz zum Identifier - in einfachen Hochkommas (Apostroph, Hex 0x27) angegeben werden. |
|
Alle Bücher, welche 30.00 oder mehr kosten | bookstore.book[?(@.price>=`30.0`)] Der Wert des Preises (price) ist im Json nicht in Hochkommas angegeben und wird somit als Zahl interpretiert und nicht wie beim Jahr als Text. Hier ist zu beachten, dass der Wert nicht mit einfachen Hochkommas (Apostroph, Hex 0x27) wie beim Text angegeben wird, sondern mit dem Hochkomma “Accent grave“ (Hex 0x60, nach den Tasten Shift + ` müssen Sie noch die Leertaste drücken, damit es sichtbar wird). |
|
Alle Bücher, welche im Jahr 2005 erschienen sind und mehr als 30.00 kosten | bookstore.book[?(@.year=='2005' && @.price>=`30.0`)] |
|
Durchschnittspreis aller Bücher berechnen | avg(bookstore.book[*].price) |
|
Eigenschaften der Buch-Struktur ermitteln | bookstore.book[0].keys(@) |
|