Vai al contenuto
ToolsMinify logo
Strumenti per sviluppatori

Tester JSONPath

Prova JSONPath online su una risposta API, corpo webhook o fixture senza caricare nulla.

Informazioni su Tester JSONPath

Prova JSONPath online su una risposta API, corpo webhook o fixture senza caricare nulla. Incolla il documento, digita un'espressione JSONPath e copia i valori estratti o il percorso normalizzato RFC 9535 di ogni match. E un blocco note privato per payload che non incolleresti in un widget SERP - non un tentativo di superare jsonpath.com sulla head term. Il motore e un sottoinsieme no-eval: `$`, figli con punto e parentesi, wildcard, slice, discesa ricorsiva (`$..author`) e filtri semplici `[?()]`. Selettori script come `[(@.length-1)]` sono rifiutati, cosi JSON di produzione non va mai vicino a `eval`.

Come usare Tester JSONPath

  1. Incolla JSON o carica un esempio. Usa Formatta JSON se il payload e arrivato minificato.
  2. Digita un percorso che inizia con `$`. Estrai un campo con `$.store.book[*].title`, trova valori a qualsiasi profondita con `$..author`, o prova un filtro come `$[?(@.price < 10)]`.
  3. Leggi la tabella match: percorso normalizzato, tipo JSON e valore. Passa a JSON estratto per un array pronto da copiare.
  4. Copia il JSON estratto in una fixture, o copia l'elenco percorsi per fissare i nodi esatti.
  5. Nulla viene inviato a un server. JSON non valido segnala riga e colonna. Percorsi non validi falliscono in modo sicuro invece di eseguirsi come JavaScript.

Esempi di Tester JSONPath

Estrarre un campo da JSON

$.store.book[*].title restituisce ogni titolo nell'esempio bookstore come array JSON. E la query tipica "dammi questo campo da ogni item".

Discesa ricorsiva

$..author attraversa tutto il documento e raccoglie ogni author, inclusi quelli annidati, senza scrivere il percorso intermedio.

Esempio filtro JSONPath

$[?(@.price < 10)] mantiene item dell'array radice piu economici di 10. Su bookstore annidato usa $.store.book[?(@.price < 10)] o $..book[?(@.price < 10)]. @ e l'elemento corrente. I confronti non convertono tipi: 1 == "1" e false.

Filtrare poi estrarre un campo

$.store.book[?(@.price < 10)].title e la forma in due passi: tieni libri economici, poi copia solo i titoli. Filtri esistenza come [?(@.isbn)] tengono item che hanno la chiave.

Percorso filtro annidato

$.items[?(@.content.name == 'Candy')].content.id raggiunge una stringa annidata. Metti il filtro sull'array da scansionare, poi entra nel campo da estrarre.

Domande frequenti su Tester JSONPath

Come testo JSONPath online senza caricare il payload?
Incolla il JSON, digita un percorso che inizia con `$` e leggi i match. La valutazione gira nel browser con un parser no-eval. Documento ed espressione non lasciano questo dispositivo.
Qual e un esempio filtro JSONPath da incollare?
$[?(@.price < 10)] su un array radice di oggetti, o $.store.book[?(@.price < 10 && @.category == 'fiction')].title per estrarre un campo dopo il filtro. @ e l'item corrente. == != < <= > >= && || e ! sono supportati. Carica il chip Filtro prezzo per vederlo su dati di esempio.
Come estraggo un campo da JSON con JSONPath?
Nomina il campo dopo l'array o il filtro: $.users[*].email o $.store.book[?(@.price < 10)].title. La vista JSON estratto copia quei valori come array JSON. Ogni riga mostra anche il percorso normalizzato, ad esempio $['store']['book'][0]['title'].
Quale sintassi JSONPath supporta questo tester?
Il sottoinsieme comune: `$`, `.name`, `['name']`, `[0]`, `[-1]`, `[*]`, `[start:end:step]`, discesa `..name` e filtri semplici `[?(...)]`. Nomi tra parentesi devono essere quotati. Niente eval, niente jsonpath-plus, niente selettore script. Piu stretto di un motore RFC 9535 completo e piu sicuro per payload incollati.
Perche il mio JSONPath ha restituito zero match?
Un'espressione valida puo non matchare nulla. Cause frequenti: `$[?(...)]` su radice oggetto (filtra l'array), `$` mancante, nome tra parentesi non quotato, o aspettarsi coercizione JavaScript (`1 == "1"` e false qui). Prova `$..campo` se non conosci la profondita, poi restringi.
Cos'e un JSONPath normalizzato?
RFC 9535 §2.7 scrive ogni nodo come `$['store']['book'][0]` - nomi quotati, indici nudi, niente scorciatoie. Ogni match nella tabella e una query singolare valida da incollare per selezionare solo quel nodo.
Sostituisce jsonpath.com?
No. jsonpath.com e valutatori simili dominano il termine "jsonpath tester". Questa pagina serve a testare un'espressione JSONPath sul tuo documento in privato, estrarre un campo e copiare percorsi normalizzati quando il payload non deve lasciare il browser.