JSONPath tester (RFC 9535)

Vyhodnoť JSONPath výraz nad vlastním JSON a podívej se na vybrané hodnoty. Tester se drží standardu RFC 9535: selektory, řezy, rekurzivní sestup, filtry jako [?@.cena > 100] a funkce length(), match(), search() a count().

Anglicky JSONPath tester.

Co je JSONPath?

JSONPath je způsob, jak z JSON dokumentu vybrat jen tu část, kterou potřebuješ — podobně jako se v tabulce odkazuješ na buňku.

Výraz vždy začíná znakem $ (celý dokument) a pokračuje tečkou a názvem klíče, například $.store.name. Hranaté závorky vybírají z polí: [0] první položka, [*] všechny.

Nevíš, kde začít? Načti ukázková data a klikni na některý z návrhů níže — každý má vysvětlení a ukáže, kolik hodnot našel.

Vlož JSON a JSONPath výraz, pak klikni na Vyhodnotit.

Návrhy dotazů z vašich dat

Vlož JSON a navrhnu dotazy podle jeho struktury.

Tahák JSONPath

Základy

$Celý dokument (kořen).$
.klíčHodnota klíče v objektu.$.store.name
['klíč']Totéž se závorkami — nutné u klíčů s mezerou nebo tečkou.$['store']['name']
['a','b']Víc klíčů najednou.$.store['name','open']

Pole

[0]Položka podle pořadí (od nuly).$.store.books[0]
[-1]Poslední položka.$.store.books[-1]
[0:2]Výřez: položky od–do (bez posledního).$.store.books[0:2]
[*]Všechny položky pole (nebo hodnoty objektu).$.store.books[*].title
[0,2]Vybrané položky podle pořadí.$.store.books[0,2].title

Rekurze

..klíčKlíč kdekoli v dokumentu, v libovolné hloubce.$..price
..*Všechny hodnoty v celém dokumentu.$..books[*].author

Filtry

[?@.pole < X]Položky, které splňují podmínku; @ je aktuální položka.$.store.books[?@.price < 180]
[?@.pole == hodnota]Rovnost s textem nebo číslem.$.store.books[?@.author == 'Karel Čapek']
[?@.pole == true]Podmínka na logickou hodnotu.$.store.books[?@.inStock == true].title
&& a ||Spojení podmínek (a zároveň / nebo).$.store.books[?@.price > 150 && @.inStock == true].title

Funkce

length(@.pole)Délka textu, pole nebo objektu.$.store.books[?length(@.tags) > 1].title
match(@.pole, 'regex')Celý text odpovídá regulárnímu výrazu.$.store.books[?match(@.title, 'R.*')].title
search(@.pole, 'regex')Regulární výraz se najde kdekoli v textu.$.store.books[?search(@.author, 'Franz')].title

Poznámka: podporována je syntaxe JSONPath dle RFC 9535 — $, .klíč, ['klíč'], [index], [*], ..klíč, [a:b:krok], filtry [?@.id==2] (i [?(@.id==2)]) a funkce jako length(), match(), search(), count().

Jak použít: JSONPath tester

Knihovny JSONPath se v detailech liší, protože většina vznikla před standardem RFC 9535 z roku 2024. Výraz z testeru proto ověř i v knihovně, kterou používáš.

  1. Vlož JSON do pole Vstup (JSON), nebo klikni na Načíst ukázková data.
  2. Napiš výraz do pole JSONPath výraz, například $.knihy[?@.cena > 100].nazev.
  3. Klikni na Vyhodnotit a zkontroluj Výsledky.

Časté chyby a tipy

Prázdný výsledek není null
Výraz, který nic nenajde, vrátí prázdný seznam. Existující vlastnost s hodnotou null vrátí null.
Filtry nejsou JavaScript
Standardní filtr nepovoluje libovolný kód. Zápisy jako @.nazev.length > 3 z některých knihoven nahraď funkcí length(@.nazev) > 3.

Nástroj je zdarma a běží celý v tvém prohlížeči — vložená data se nikam neodesílají ani neukládají.

JSONPath: dotazy podle RFC 9535 →