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.

Eigenschaften

Eingabe

Name

Beschreibung

Datentyp

Erforderlich

Name

Beschreibung

Datentyp

Erforderlich

Json

Json-Struktur als String, z.B. aus HTTP-Request senden .

String

Abfragetext

JMESPath-Ausdruck.
Einfache Abfragen sind in unseren Beispielen beschrieben, eine detaillierte Beschreibung der Syntax finden Sie auf der Webseite von JMESPath.

String

Ausgabe

Name

Beschreibung

Datentyp

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)

Beschreibung

Fehlercode

Datentyp (Exception)

Syntaxfehler, wenn der Abfragetext nicht einem gültigen JMESPath-Ausdruck entspricht

 

ActivityException

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

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.

  • Everyday Italian

  • Harry Potter

  • Learning XML

Autor des 2. Buches ermitteln

bookstore.book[1].author

Der Index einer Auflistung beginnt mit 0.

  • J K. Rowling

Alle Bücher des Jahres 2005 ermitteln

bookstore.book[?(@.year=='2005')]

(deutschsprachige QWERTZ-Tastaturblegung)

  • {
    "-category": "cooking",
    "title": {"-lang": "en", "#text": "Everyday Italian"},
    "author": "Giada De Laurentiis",
    "year": "2005",
    "price": 30.0
    }

  • {
    "-category": "children",
    "title": {"-lang": "en", "#text": "Harry Potter"},
    "author": "J K. Rowling",
    "year": "2005",
    "price": 29.99
    }

Alle Bücher, welche 30.00 oder mehr kosten

bookstore.book[?(@.price>=`30.0`)]

(deutschsprachige QWERTZ-Tastaturblegung)

 

  • {
    "-category": "cooking",
    "title": {"-lang": "en", "#text": "Everyday Italian"},
    "author": "Giada De Laurentiis",
    "year": "2005",
    "price": 30.0
    }

  • {
    "-category": "web",
    "title": {"-lang": "en", "#text": "Learning XML"},
    "author": "Erik T. Ray",
    "year": "2003",
    "price": 39.95
    }

Alle Bücher, welche im Jahr 2005 erschienen sind und mehr als 30.00 kosten
(kombinierte Abfrage)

bookstore.book[?(@.year=='2005' && @.price>=`30.0`)]

  • {
    "-category": "cooking",
    "title": {"-lang": "en", "#text": "Everyday Italian"},
    "author": "Giada De Laurentiis",
    "year": "2005",
    "price": 30.0
    }

Durchschnittspreis aller Bücher berechnen

avg(bookstore.book[*].price)

  • 33.3133333333333

Eigenschaften der Buch-Struktur ermitteln

bookstore.book[0].keys(@)
bzw.
keys(bookstore.book[0])

  • -category

  • title

  • author

  • year

  • price

 

Verwandte Themen

Http-Requests