JSON

Tester JSONPath

Testowanie wyrażeń JSONPath na rzeczywistych danych JSON — natychmiastowy podgląd znalezionych wartości i ich ścieżek.

$ — korzeń · .key / ['key'] — właściwość · .. — wyszukiwanie rekurencyjne · [*] — wszystkie elementy · [0,1] — indeksy · [0:2] — wycinek · [?(@.price<10)] — filtr

JSONPath lets you reach into nested JSON values the way XPath does for XML — a compact path string like $.users[0].email instead of manually walking the structure. This tool lets you test an expression against real data and see the result instantly.

How to use it

Common uses

Things to keep in mind

There's no single official JSONPath standard — the basic syntax (dots, brackets, *) is supported the same way everywhere, but filters and more advanced expressions differ between libraries.

Array indexing in JSONPath starts at zero, like in most programming languages — [0] means the first element.

Artykuł o tym narzędziu: JSONPath: jak wyszukiwać dane w JSON bez ręcznego parsowania

Najczęstsze pytania

Co właściwie robi wyrażenie JSONPath takie jak $.store.book[*].author?

Nawiguje po strukturze JSON zaczynając od korzenia ($), przez klucze store i book, a symbol wieloznaczny [*] wybiera każdy element w tablicy book przed odczytaniem pola author każdego z nich.

Jaka jest różnica między $.a.b a $..b?

Pojedyncza kropka uzyskuje dostęp do bezpośredniej właściwości potomnej, podczas gdy podwójna kropka (rekursywne zejście) przeszukuje każdą głębokość struktury, dopasowując klucz o nazwie b wszędzie tam, gdzie się pojawia, nie tylko jako bezpośredniego potomka.

Czy to narzędzie wysyła mój JSON gdzieś, aby ocenić ścieżkę?

Nie. Wyrażenie JSONPath jest oceniane całkowicie w Twojej przeglądarce — Twoje dane nigdy nie opuszczają Twojego urządzenia.

Jak odwołać się do klucza zawierającego kropkę lub spację?

Przez nawiasy kwadratowe z cudzysłowem: $['user.name'] zamiast $.user.name — w przeciwnym razie parser odczyta kropkę jako separator zagnieżdżenia, a nie część nazwy klucza.

Czy istnieje jeden oficjalny standard JSONPath?

Nie. Podstawowa składnia (kropki, nawiasy, gwiazdka) jest wspierana praktycznie wszędzie tak samo, ale filtry i rozszerzone wyrażenia różnią się między bibliotekami — sprawdzaj zgodność dla bardziej złożonych wyrażeń.

Artykuły: JSON