Przejdź do treści

JSONPath extraktor

Wyodrębnij wartości pasujące do wzoru z dokumentu JSON za pomocą wyrażenia JSONPath lub JSON Pointer.

Wejście
Wynik

JSONPath extraktor

Wklej dokument JSON, napisz zapytanie, a to narzędzie zwróci tylko wartości, które się zgadzają — bez konieczności pisania skryptu ani otwierania REPL, aby wyodrębnić jedno pole z dużej struktury danych. Obsługuje dwa style zapytań: wyrażenia JSONPath takie jak $.users[*].email i odwołania RFC 6901 JSON Pointer takie jak /users/0/email. Przełączaj się między nimi za pomocą opcji składni w zależności od tego, który z nich już masz dostępny z dokumentacji API, linii dziennika lub komunikatu o błędzie.

Obsługa JSONPath obejmuje wzorce, które ludzie faktycznie używają: zapis z kropką i dostęp w nawiasach ($.user.name lub $['user name'] dla kluczy ze spacjami), symbol wieloznaczny [*] do rozszerzenia na każdy element tablicy lub każdą wartość obiektu, indeksy liczbowe, w tym ujemne indeksy liczone od końca ($.items[-1]) i .. opadający rekursywnie, aby znaleźć klucz na dowolnej głębokości, niezależnie od tego, jak głęboko jest zagnieżdżony ($..email). Wyrażenia filtrowane i zakresy wycinków nie są obsługiwane — jeśli Twoje zapytanie wymaga logiki warunkowej, najpierw wyodrębnij tablicę nadrzędną, a następnie filtruj ją w dół.

Dwie opcje kształtują wynik. Opcja "Lista linii" drukuje każdą znalezioną wartość na własnej linii — ciągi są drukowane bez zmian, obiekty i tablice są drukowane jako kompaktny JSON — co jest wygodne do bezpośredniego sparowania z innymi narzędziami opartymi na liniach, takimi jak sort lub dedupe. Opcja "Tablica JSON" zawija każde dopasowanie w jedną tablicę JSON, co jest przydatne, gdy chcesz czysty, analizowalny podzbiór oryginalnego dokumentu. Włącz opcję "Pokaż ścieżkę dla każdego wyniku", aby każdemu wynikowi poprzedzić rozwiązaną ścieżkę, co pomaga, gdy kilka różnych pól może wiarygodnie wyjaśnić daną wartość.

Wszystko odbywa się lokalnie w Twojej przeglądarce: dokument, który wklejasz, i wyrażenie, które piszesz, nigdy nie są nigdzie przesyłane. Dzięki temu bezpiecznie jest wskazywać na rzeczywiste odpowiedzi API, wewnętrzne eksporty konfiguracji lub fragmenty dziennika produkcji. Sumy pod wynikiem dokładnie pokazują, ile znaleziono dopasowań, więc nieoczekiwany pusty wynik łatwo odróżnić od zapytania, które cicho nic nie zwróciło.

Częste pytania

Jaka jest różnica między JSONPath a JSON Pointer?
Wyrażenia JSONPath takie jak $.users[*].email mogą jednocześnie pasować do wielu wartości przy użyciu symboli wieloznacznych i opadającego rekursywnie. Odwołania JSON Pointer takie jak /users/0/email zawsze odnoszą się do co najwyżej jednej wartości — jest to prostszy, dosłowny schemat adresowania, powszechny w JSON Schema i ładunkach HTTP PATCH.
Które funkcje JSONPath są obsługiwane?
Zapis z kropką i dostęp w nawiasach, symbol wieloznaczny [*], indeksy liczbowe tablicy (w tym ujemne) i .. opadający rekursywnie dla klucza na dowolnej głębokości. Wyrażenia filtrowane takie jak [?(@.price<10)] i zakresy wycinków takie jak [0:2] nie są obsługiwane.
Co się stanie, jeśli moje wyrażenie nie pasuje do niczego?
Otrzymasz pusty wynik i sumę 0 dopasowań — nie jest to traktowane jako błąd. Błąd jest wyświetlany tylko dla niepoprawnego wejścia JSON lub źle sformułowanego wyrażenia.
Czy mogę zobaczyć, skąd pochodzi każda wartość?
Włącz opcję "Pokaż ścieżkę dla każdego wyniku", a każdy wynik będzie poprzedzony dokładną ścieżką, w której został znaleziony, w tej samej składni co zapytanie — ścieżki JSONPath takie jak $.users[0].email lub oryginalny wskaźnik dla zapytań JSON Pointer.
Czy mój dokument JSON jest gdzieś przesyłany?
Nie. Analiza i przetwarzanie zapytań odbywają się całkowicie w Twojej przeglądarce — dokument i wyrażenie nigdy nie opuszczają Twojego urządzenia.