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.
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].titleRekurze
..klíčKlíč kdekoli v dokumentu, v libovolné hloubce.$..price..*Všechny hodnoty v celém dokumentu.$..books[*].authorFiltry
[?@.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].titleFunkce
length(@.pole)Délka textu, pole nebo objektu.$.store.books[?length(@.tags) > 1].titlematch(@.pole, 'regex')Celý text odpovídá regulárnímu výrazu.$.store.books[?match(@.title, 'R.*')].titlesearch(@.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áš.
- Vlož JSON do pole
Vstup (JSON), nebo klikni naNačíst ukázková data. - Napiš výraz do pole
JSONPath výraz, například$.knihy[?@.cena > 100].nazev. - Klikni na
Vyhodnotita zkontrolujVý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
nullvrátínull. - Filtry nejsou JavaScript
- Standardní filtr nepovoluje libovolný kód. Zápisy jako
@.nazev.length > 3z 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í.