Sări la conținut
Complet local

Extractor JSONPath

Extrageți valori corespunzătoare din documente JSON cu expresii JSONPath sau JSON Pointer.

Intrare
Ieșire

Extractor JSONPath

Lipiți un document JSON, scrieți o interogare și acest instrument returnează doar valorile care se potrivesc — fără a fi nevoie să scrieți un script sau să deschideți un REPL pentru a extrage un câmp dintr-o structură de date mare. Acceptă două stiluri de interogare: expresii JSONPath cum ar fi $.users[*].email și referințe RFC 6901 JSON Pointer cum ar fi /users/0/email. Alternați între ele cu opțiunea de sintaxă în funcție de care aveți deja disponibilă din documentația API, o linie de jurnal sau un raport de eroare.

Suportul JSONPath acoperă modelele pe care oamenii le folosesc cu adevărat: notație cu punct și acces între paranteze ($.user.name sau $['user name'] pentru chei cu spații), caracterul wildcard [*] pentru a se extinde peste fiecare element dintr-o matrice sau fiecare valoare dintr-un obiect, indici numerici inclusiv indici negativi numărați de la sfârșitul ($.items[-1]), și .. coborâre recursivă pentru a găsi o cheie la orice adâncime, indiferent cât de profund este imbricate ($..email). Expresiile filtrate și intervalele de porționare nu sunt acceptate — dacă interogarea dvs. are nevoie de logică condiționată, extrageți mai întâi matricea părinte și apoi filtrați-o.

Două opțiuni formează rezultatul. "Lista de linii" tipărește fiecare valoare găsită pe propria linie — șirurile sunt tipărite așa cum sunt, obiectele și matricele sunt tipărite ca JSON compact — ceea ce este convenabil pentru a trece direct la alt instrument bazat pe linii cum ar fi sort sau dedupe. "Matrice JSON" avansează fiecare potrivire într-o singură matrice JSON, util atunci când doriți o submulțime curată și analizabilă a documentului original. Activați "Arată calea pentru fiecare rezultat" pentru a prefața calea rezolvată la fiecare rezultat, ceea ce ajută atunci când mai multe câmpuri diferite ar putea plauzibil să explice o valoare dată.

Totul rulează local în browserul dvs.: documentul pe care îl lipiți și expresia pe care o scrieți nu sunt niciodată încărcate nicăieri. Acest lucru o face sigură pentru a indica răspunsuri API reale, exporturi de configurare internă sau fragmente de jurnal de producție. Numărătoarea sub rezultat raportează exact câte potriviri au fost găsite, deci un rezultat neașteptat gol este ușor de distins de o interogare care a returnat tăcut nimic.

FAQ

Care este diferența dintre JSONPath și JSON Pointer?
Expresiile JSONPath cum ar fi $.users[*].email pot potrivi multe valori simultan folosind caractere wildcard și coborâre recursivă. Referințele JSON Pointer cum ar fi /users/0/email se rezolvă întotdeauna la cel mult o valoare — este o schemă de adresare mai simplă și mai literală, comună în JSON Schema și încărcături HTTP PATCH.
Care sunt caracteristicile JSONPath acceptate?
Notație cu punct și acces între paranteze, caracterul wildcard [*], indici numerici de matrice (inclusiv negativi) și .. coborâre recursivă pentru o cheie la orice adâncime. Expresiile filtrate cum ar fi [?(@.price<10)] și intervalele de porționare cum ar fi [0:2] nu sunt acceptate.
Ce se întâmplă dacă expresia mea nu se potrivește cu nimic?
Obțineți un rezultat gol și o numărătoare de 0 potriviri — aceasta nu este tratată ca o eroare. O eroare este afișată doar pentru intrarea JSON nevalidă sau o expresie prost formată.
Pot vedea de unde provine fiecare valoare?
Activați "Arată calea pentru fiecare rezultat" și fiecare rezultat este prefațat cu calea exactă în care a fost găsit, în aceeași sintaxă ca interogarea — căi JSONPath cum ar fi $.users[0].email, sau pointerul original pentru interogări JSON Pointer.
Documentul JSON este încărcat undeva?
Nu. Analiza și procesarea interogărilor se întâmplă în întregime în browserul dvs. — documentul și expresia nu abandoneaza niciodată dispozitivul dvs.