JSONPath to język zapytań i wyrażeń do ekstrakcji danych ze struktur JSON, podobny do XPath dla XML. Pozwala precyzyjnie nawigować po głęboko zagnieżdżonych obiektach i tablicach, ekstrahować określone pola, filtrować elementy według warunków i uzyskiwać potrzebne fragmenty danych bez pisania pętli lub ręcznego przeszukiwania. JSONPath został zaproponowany przez Stefana Gössnera w 2007 roku i od tego czasu stał się de facto standardem pracy z JSON w testowaniu API, analizie danych i przetwarzaniu strukturyzowanych dokumentów.
To narzędzie online to wygodny interfejs do wykonywania zapytań JSONPath bezpośrednio w przeglądarce. Zostało stworzone specjalnie dla inżynierów testów API, analityków danych i programistów frontend, którzy często pracują ze złożonymi strukturami odpowiedzi API, danymi logów i plikami konfiguracyjnymi. Zamiast pisania kodu lub używania nieporęcznych bibliotek możesz po prostu wkleić JSON, wprowadzić wyrażenie i natychmiast zobaczyć wynik.
Narzędzie obsługuje rdzeń praktycznej składni, który pokrywa przytłaczającą większość codziennych zadań. Możesz używać precyzyjnego dostępu do właściwości przez kropkę (np. $.store.book.title), indeksowania tablic, w tym indeksów ujemnych do dostępu od końca tablicy ([-1] dla ostatniego elementu), symbolu wieloznacznego * do dopasowywania dowolnych pól, wycinków tablic [start:end] do ekstrakcji zakresów i warunkowych filtrów ?() z pełnym zestawem operatorów porównania ==, !=, >, <, >=, <=. Ten zestaw wystarcza do rozwiązania ponad 90% typowych zadań ekstrakcji danych.
Jedną z kluczowych funkcji jest podwójny widok wyników: możesz przełączać się między klasycznym widokiem JSON a strukturyzowanym widokiem tabeli. Widok tabeli jest szczególnie wygodny podczas pracy z tablicami obiektów — wyniki są wyświetlane w formie kolumn i wierszy, co ułatwia analizę wizualną, porównywanie wartości i przygotowywanie danych do raportów lub dalszego przetwarzania. Przełączanie między trybami odbywa się jednym kliknięciem bez ponownego zapytania.
Aby zwiększyć produktywność, narzędzie ma wbudowanych 8 gotowych przykładów obejmujących powszechne scenariusze użycia. Jeśli jesteś początkujący w JSONPath, możesz załadować dowolny przykład jednym kliknięciem, poznać strukturę wyrażenia i od razu zobaczyć wynik. Podczas wprowadzania używane jest zoptymalizowane opóźnienie debounce wynoszące 400 milisekund — zapytanie jest wykonywane tylko po tym, jak przestaniesz pisać, co zapobiega opóźnieniom i niepotrzebnym obliczeniom podczas szybkiego pisania.
Edytor jest zbudowany na podstawie CodeMirror, zapewniając profesjonalną pracę z kodem: podświetlanie składni w czasie rzeczywistym, numeracja wierszy, inteligentne wcięcia i obsługa standardowych skrótów klawiszowych do wyszukiwania, zamiany, cofania i ponawiania akcji. Narzędzie zawiera również wbudowaną funkcję automatycznej naprawy błędów JSON — wykrywa powszechne problemy (brak cudzysłowów, dodatkowe przecinki, pojedyncze cudzysłowy) i podświetla je z dokładnym wskazaniem pozycji, pomagając szybko przygotować dane do zapytania.
Całe przetwarzanie odbywa się wyłącznie lokalnie w Twojej przeglądarce — żadne dane nie są wysyłane na serwer. Jest to kluczowe podczas pracy z wrażliwymi danymi: tokenami autoryzacyjnymi, danymi osobowymi użytkowników, wewnętrznymi danymi biznesowymi lub poufnymi odpowiedziami API. Dla wygody ponownego użycia automatycznie zapisywana jest lokalna historia ostatnich 200 zapytań w magazynie localStorage Twojej przeglądarki — historia pozostaje nawet po zamknięciu karty.
To narzędzie jest szeroko używane podczas pracy z Postman i JMeter: możesz szybko stworzyć prototyp i debugować wyrażenie JSONPath tutaj, a następnie skopiować je do testów Postman (dla pm.response.json()) lub do komponentów JSON Extractor/JSON Assertion w JMeter. Ważne jest, aby pamiętać, że ta implementacja skupia się na rdzeniu praktycznej składni, pokrywającym ponad 90% codziennych scenariuszy programistycznych: zejście rekurencyjne (..), wyrażenia skryptowe i wielokrotne kombinacje warunków nie są obecnie obsługiwane, co jest celowo zrobione, aby zapewnić szybkość, niezawodność i przewidywalne zachowanie.