JSON Path Finder Online
Kliknij dowolna wartosc JSON i natychmiast uzyskaj jej sciezke. Bezplatnie, w przegladarce.
Click any path to copy
Do czego sluzy
Znajdz sciezki JSON jednym kliknieciem
Kompatybilny z JSONPath i jq
Wygenerowane sciezki sa poprawne w standardowym JSONPath, jq, jsonata i wiekszosci bibliotek do operowania na JSON.
W 100% prywatny
Twoj JSON jest przetwarzany w przegladarce. Nigdy nie trafia na zadne serwery. Bezpieczny dla JSON z wewntrznymi danymi API.
Interaktywne drzewo wizualne
JSON jest wyswietlany jako drzewo z kolorowaniem wedlug typu (string, number, boolean, array, object) dla latwej nawigacji.
Natychmiastowy
Sciezka pojawia sie w chwili klikniecia. Zadnych formularzy, zadnych przyciskow, zadnego oczekiwania.
Jak to działa
Trzy kroki, żadnych komplikacji
Wklej swoj JSON
Wprowadz JSON, ktory chcesz eksplorowac. Narzedzie waliduje go i wyswietla drzewo interaktywnie, z kolorowaniem wedlug typu.
Kliknij dowolna wartosc
Kliknij dowolny klucz lub wartosc w JSON. Narzedzie natychmiast oblicza i wyswietla pelna sciezke w notacji z kropkami i skladni JSONPath.
Skopiuj sciezke
Skopiuj wygenerowana sciezke (np. `data.users[0].address.city`), by uzyc jej bezposrednio w kodzie, zapytaniu jq lub narzedziu API.
FAQ
Masz pytania?
Sciezka JSON to sekwencja kluczy lub indeksow tablicy potrzebna do dostepu do konkretnej wartosci w zagniezdzonej strukturze JSON. Na przyklad w `{"user": {"name": "Alice"}}` sciezka do nazwy to `user.name` w notacji z kropkami lub `$.user.name` w skladni JSONPath. Sciezki sa niezbedne do programowego wyodrebniania wartosci, konfigurowania regul biznesowych opartych na danych JSON i pisania zapytan transformacji danych.
JSONPath to jezyk zapytan dla JSON, analogiczny do XPath dla XML, zaproponowany przez Stefana Guessnera w 2007 roku. Znak `$` reprezentuje korzen dokumentu. Kropka `.` uzyskuje dostep do wlasciwosci obiektu: `$.store.book`. Nawiasy `[]` uzyskuja dostep do indeksow tablicy: `$.users[0]`. Zapytania rekurencyjne uzywaja `..`: `$..name` pobiera wszystkie pola `name` na dowolnym poziomie. Filtry sa wyrazane jako `[?(@.price < 10)]`.
Sciezki JSON maja wiele praktycznych zastosowan: (1) debugowanie API - identyfikacja dokladnej lokalizacji wartosci w duzej odpowiedzi; (2) zapytania jq - `jq '.data.users[0].name'` do wyodrebniania wartosci w terminalu; (3) wyodrebnianie konfiguracji - skrypty odczytujace wartosci ze zlozonych plikow konfiguracyjnych JSON; (4) transformacje danych z narzedzia mi jak JSONata lub jolt; (5) reguly walidacji w JSON Schema odwolujace sie do konkretnych pol.
Tablice w JSON sa indeksowane od zera. Pierwszy element to `[0]`, drugi `[1]` i tak dalej. W JSONPath `$.items[0]` uzyskuje dostep do pierwszego elementu, `$.items[-1]` do ostatniego (w implementacjach obslugujacych ujemne indeksy), a `$.items[0,2]` uzyskuje dostep do elementow o indeksie 0 i 2. By uzyskac dostep do wszystkich elementow tablicy, uzyj symbolu wieloznacznego: `$.items[*]`.
Narzedzie obsluguje JSON o dowolnym poziomie zagniezdzen. Jednak dla bardzo glebokich obiektow JSON lub tych z tysiancami wezlow renderowanie interaktywnego drzewa moze spowalnic w przeglarkach z ograniczonymi zasobami. W praktyce wiekszosc REST API i plikow konfiguracyjnych ma mniej niz 10 poziomow zagniezdzen, co narzedzie obsluguje bez zadnych problemow.
JSONPath: specyfikacja Stefana Guessnera z 2007, RFC 9535, jq i debugowanie REST API
JSONPath zostal zaproponowany przez Stefana Guessnera w 2007 roku jako jezyk zapytan dla JSON analogiczny do XPath dla XML. W przeciwienstwie do XPath JSONPath nie zostal formalnie znormalizowany az do RFC 9535 (2024). Rozne implementacje w roznych jezykach (Jayway w Java, jsonpath w Pythonie, jsonpath-ng, jp w Go) przyjely nieznacznie rozne warianty oryginalnej specyfikacji. RFC 9535 ostatecznie ujednolicil skladnie, by zapewnic spojne zachowanie miedzy implementacjami.
jq to najpopularniejsze narzedzie wiersza polecen do przetwarzania JSON, stworzone przez Stephena Dolana w 2012 roku. Dziala jako procesor strumieniowy: odbiera JSON przez stdin, stosuje filtr (wyrazenie sciezki i transformacje) i emituje JSON przez stdout. Polecenia takie jak `curl https://api.example.com/users | jq '.[0].email'` pozwalaja wyodrebniac wartosci z odpowiedzi API bezposrednio w terminalu. Skladnia dostepu do sciezki jq jest bardzo podobna do JSONPath, chocia z rozniceami w tablicach i filtrach.
We wspolczesnym tworzeniu REST API debugowanie zlozonych odpowiedzi JSON to codzienne zadanie. Narzedzia takie jak Postman, Insomnia i Bruno pozwalaja pisac wyrazenia JSONPath do wyodrebniania wartosci z odpowiedzi w testach. AWS uzywa JSONPath w Step Functions do wyodrebniania danych miedzy krokami przeplyvu pracy. Kubernetes uzywa JSONPath w kubectl z flaga `--jsonpath` do wyodrebniania pol z obiektow klastra. Znajomosc dokladnych sciezek pol w zlozonych strukturach JSON jest kluczowa dla efektywnej pracy z API.