JSON-Pfad
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]). |