Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

JSON-Pfad

In diesem Abschnitt werden JSON-Pfadausdrücke beschrieben, die Sie mit Talend Cloud API Tester verwenden können.

Weitere Informationen finden Sie unter JSONPath - XPath für JSON.

Sie können auch den JSON-Pfad-Online-Evaluator verwenden. Die zugrunde liegende Implementierung kann sich von der in Talend Cloud API Tester verwendeten unterscheiden, somit auch die Ergebnisse.

Nachstehend ein paar Tipps in Bezug auf die Verwendung von JSON-Payloads:

  • Das Dollarzeichen $ kennzeichnet das Stammobjekt des JSON-Inhalts.
  • Das Punktzeichen . ermöglicht das Abrufen von Attributen eines Objekts bzw. das Drilling Down in der Baumstruktur.
  • Eckige Klammern [] beziehen sich auf Arrays und ermöglichen die Auswahl eines bestimmten Elements in einem Array bzw. einer Array-Teilmenge (Slice).
  • Zwei Punkte .. ermöglichen die rekursive Sammlung aller Attribute basierend auf ihrem Namen.

Wie nachstehend gezeigt, folgt die aktuelle Implementierung in Talend Cloud API Tester im Großen und Ganzen der Referenz, unterscheidet sich jedoch in ein paar Punkten.

Beispiele für JSON-Pfadausdrücke

In diesem Abschnitt werden Ausdrücke und deren Ergebnis für die folgende JSON-Beispieldatei aufgeführt:

{
  "store": {
    "book": [
        {
          "category": "reference",
          "author": "Nigel Rees",
          "title": "Sayings of the Century",
          "price": 8.95
        },
        {
          "category": "fiction",
          "author": "Evelyn Waugh",
          "title": "Sword of Honour",
          "price": 12.99
        },
        {
          "category": "fiction",
          "author": "Herman Melville",
          "title": "Moby Dick",
          "isbn": "0-553-21311-3",
          "price": 8.99
        },
        {
          "category": "fiction",
          "author": "J. R. R. Tolkien",
          "title": "The Lord of the Rings",
          "isbn": "0-395-19395-8",
          "price": 22.99
        }
      ],
      "bicycle": {
        "color": "red",
        "price": 19.95
    }
  }
}

Die nachfolgende Tabelle enthält einige Beispielausdrücke und deren Ergebnis.

Ausdruck Wert
$.store.bicycle.color Der Wert des Farbattributs („color“) des Fahrrads („bicycle“) (d. h. "red" (rot)).
$.store.book[0] Der erste Buch-Knoten („book“) im Geschäft („store“).

$.store.book[1:3]

$.store.book[1,2]

Ein Array mit dem zweiten und dritten Buch-Knoten („book“) im Geschäft („store“).
$.store.book[-1:] Ein Array mit dem letzten Buch-Knoten („book“) im Geschäft („store“).
$.store.book[:2] Ein Array mit dem ersten und zweiten Buch-Knoten („book“) im Geschäft („store“).
$.store.book[1:4:2].author Ein Array mit den Autoren des zweiten und vierten Buch-Knotens („book“) im Geschäfts („store“) (d. h. ["Evelyn Waugh","J. R. R. Tolkien"]).
$.store.book[1].* Ein Array mit den Werten aller Attribute des zweiten Buchs (d. h. ["fiction","Evelyn Waugh","Sword of Honour",12.99]).
$.store..price Ein Array mit den Werten aller Preisattribute („price“) des Geschäfts-Knotens („store“) (d. h. der Preis der Bücher und des Fahrrads [8.95,12.99,8.99,22.99,19.95]).
$.store.book.author Ein Array mit den Werten aller Autorenattribute („author“) des Buch-Knotens („book“) (d. h. ["Nigel Rees","Evelyn Waugh","Herman Melville","J. R. R. Tolkien"]).
$.store.book[?(@.isbn)] Ein Array mit den Büchern, die über ein ISBN-Attribut („isbn“) verfügen (d. h. die letzten zwei Bücher).
$.store.book[?(@.price<10)] Ein Array mit den Büchern, deren Preis unter „10“ liegt.
$.. Ein Array mit allen untergeordneten Knoten des Stammknotens, rekursiv.
$..category Ein Array mit allen Werten der Kategorie-Knoten („category“) (d. h. ["reference","fiction","fiction","fiction"]).
$..category[(@.length-1)] Der Wert des letzten Kategorie-Knotens („category“).

Abweichungen von Talend Cloud API Tester von der Referenz

Stern-Operator

Ausdruck Referenz Talend Cloud API Tester
$.store.book[*].author Ein Array mit den Autoren aller Bücher im Geschäft. Rückgabe eines leeren Arrays. Verwenden Sie stattdessen $.store.book.author.

Zwei-Punkte-Operator

Der Ausdruck $..book wird als Array aller book-Knoten interpretiert, deshalb wird ein Array mit einem Array zurückgegeben, da der book-Knoten ein Array ist:

[
  [
          { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 },
          { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 },
          { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 },
          { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 }
  ]
]

Die folgenden Ausdrücke werden dann anders verarbeitet:

Ausdruck Referenz Talend Cloud API Tester
$..book[0] Ein Array mit dem ersten Buch-Knoten (book). Das erste Element des Arrays, d. h. des Arrays mit allen Büchern.
$..book[-1:] Ein Array mit dem letzten Buch. In dieser Form nicht unterstützt. Funktioniert folgendermaßen: ($..book[0][-1:]).
$..book[(@.length-1)] Ein Array mit dem letzten Buch. In dieser Form nicht unterstützt. Funktioniert folgendermaßen: ($..book[0][(@.length-1)]).
$..book[0,1] Ein Array mit dem ersten und zweiten Buch. In dieser Form nicht unterstützt. Funktioniert folgendermaßen: ($..book[0][0,1]).
$..book[:2] Ein Array mit dem dritten Buch. In dieser Form nicht unterstützt. Funktioniert folgendermaßen: ($..book[0][:2]).

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!