Json-Werte ermitteln
WMS 1.1.4
Mit dieser Aktivität kann eine Abfrage auf einen Json-String ausgeführt werden. Die Abfrage gibt eine Liste mit den ermittelten Werten zurück. Für die Abfrage wird die Abfragesprache von JMESPath verwendet.
Json
Json (JavaScript Object Notation) ist ein offenes Dateiformat, welches häufig für den Datenaustausch mit APIs als Alternative zu XML verwendet wird.
Inhalt
- 1 Eigenschaften
- 1.1 Eingabe
- 1.2 Ausgabe
- 1.3 Fehlermeldungen
- 2 Beispiele
- 3 Verwandte Themen
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')] (deutschsprachige QWERTZ-Tastaturblegung) |
|
Alle Bücher, welche 30.00 oder mehr kosten | bookstore.book[?(@.price>=`30.0`)] (deutschsprachige QWERTZ-Tastaturblegung)
|
|
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(@) |
|
Verwandte Themen