logo
GeekFormat

Query JSONPath

Strumento di query JSONPath online per ingegneri di test API e analisti dati. Estrai, filtra e localizza con precisione dati da JSON massivi profondamente annidati con sintassi standard. Doppia visualizzazione JSON/tabella, 8 esempi integrati, riparazione automatica errori, scorciatoie da tastiera, 200 voci di cronologia, editor CodeMirror. Elaborazione completamente locale, veloce e sicura.

Raccomandazioni correlate

Casi d'uso

  • Ingegneri di test API che scrivono asserzioni Postman/JMeter per verificare risposte API
  • Analisti dati che estraggono campi specifici da log di grandi dimensioni ed esportazioni JSON
  • Sviluppatori frontend che localizzano rapidamente i campi necessari da risposte API annidate
  • Tester QA che verificano struttura e valori dei campi nelle risposte di interfaccia
  • Team backend che eseguono debug di strutture JSON complesse e localizzano anomalie dati
  • Sviluppatori che puliscono e trasformano dati di log per l'analisi
  • Integrazione API in cui percorsi dati specifici devono essere identificati ed estratti
  • Redazione di documentazione tecnica in cui i percorsi dei campi JSON devono essere precisati
  • Formazione di team in cui la sintassi JSONPath deve essere insegnata e dimostrata
  • Audit di dati che verificano presenza e coerenza dei campi in insiemi JSON
  • Estrazione batch di dati da risposte API paginate o risposte di array
  • Debug rapido in cui i valori di campi specifici devono essere ispezionati senza navigazione manuale

Funzionalità

  • Estrazione dati precisa: supporta sottoinsieme di sintassi JSONPath standard per targeting preciso, incluso accesso proprietà, indice array [-1], jolly * e slice array [start:end]
  • Filtraggio condizionale: filtro ?() con operatori di confronto ==/!=/>/</>=/<= per estrarre dati che soddisfano condizioni
  • Doppia visualizzazione interattiva: cambio con un clic tra vista JSON grezza e vista tabella strutturata per consultazione ed esportazione risultati
  • Evidenziazione sintassi in tempo reale: evidenziazione sintassi professionale e messaggi di errore intelligenti per correggere rapidamente espressioni di query
  • 8 esempi integrati: copre scenari di uso comune per inizio rapido e apprendimento sintassi
  • Riparazione automatica errori JSON: ripara automaticamente errori di sintassi comuni come virgole finali e virgolette mancanti
  • Debounce intelligente di 400ms: esecuzione automatica dopo pausa nella digitazione, evita esecuzioni frequenti e garantisce fluidità
  • Scorciatoie da tastiera: scorciatoie per esecuzione, copia, cancellazione e cambio visualizzazione per efficienza massima
  • 200 voci di cronologia locale: archiviazione localStorage delle query recenti per recupero e riesecuzione rapidi
  • Editor CodeMirror professionale: evidenziazione sintassi, piegatura codice, numerazione righe e corrispondenza parentesi
  • Elaborazione locale ad alta velocità: calcolo completo nel browser, sicurezza assoluta di dati sensibili di test e privacy aziendale
  • Evidenziazione risultati: evidenziazione visiva delle corrispondenze nei risultati per identificazione rapida
  • Esportazione risultati: copia con un clic ed esportazione dei risultati di estrazione in vari formati
  • Accessibilità: interfaccia chiara e reattiva adattata a diverse dimensioni di schermo

Come utilizzare

  1. Incollare contenuto JSON nell'editor sinistro o caricare un file JSON
  2. Inserire espressione JSONPath nella casella di query superiore (usa gli esempi integrati come riferimento)
  3. I risultati appaiono automaticamente dopo 400ms nel pannello destro, in vista JSON o tabella
  4. Cambiare visualizzazione secondo necessità, copiare risultati o consultare la cronologia per riutilizzare espressioni

Domande frequenti

Come uso JSONPath per estrarre con precisione campi specifici da JSON profondamente annidato?

È sufficiente inserire un'espressione JSONPath standard nella casella di query (ad esempio `$.store.book[0].title`), lo strumento localizzerà ed estrarrà rapidamente dati profondi tramite attraversamento gerarchico. Rispetto all'espansione manuale di file JSON di grandi dimensioni, questo approccio migliora notevolmente l'efficienza di localizzazione dei dati, ideale per elaborare risposte API complesse.

Supporta jolly o filtri per query condizionali complesse?

Completamente supportato. Puoi usare il carattere jolly (*) per corrispondere a qualsiasi campo, o filtri di espressione ?() per filtraggio avanzato. Ad esempio, inserendo `$.store.book[?(@.price < 10)]` verranno filtrati istantaneamente tutti i libri con prezzo inferiore a 10. Lo strumento evidenzia i risultati corrispondenti in tempo reale e supporta la visualizzazione intuitiva nella vista tabella.

Come può questo strumento aiutarmi con test automatizzati API e asserzioni?

Nei test automatizzati API, incolla il JSON della risposta API nello strumento e scrivi espressioni JSONPath come asserzioni di test. Verificando rapidamente se il risultato restituito soddisfa le aspettative (ad esempio controllando se `$.code` è uguale a 200), puoi risolvere rapidamente errori di logica dell'interfaccia: un potente assistente nei flussi di lavoro di test Postman o JMeter.

Le espressioni JSONPath distinguono maiuscole e minuscole?

Sì, JSONPath distingue maiuscole e minuscole. I nomi dei campi devono corrispondere esattamente, comprese maiuscole/minuscole. Ad esempio `$.User.Name` e `$.user.name` sono percorsi diversi. Lo strumento avvisa immediatamente se non trova un percorso corrispondente, aiutando a correggere rapidamente errori di battitura.

Come accedo all'ultimo elemento di un array senza conoscerne la lunghezza?

Usa l'indice [-1] per accedere direttamente all'ultimo elemento dell'array. Ad esempio `$.store.book[-1]` restituisce l'ultimo libro. Allo stesso modo, [-2] accede al penultimo, e così via. Questo è particolarmente utile per elaborare array di lunghezza dinamica nelle risposte API.

Cos'è la sintassi di slice di array [start:end]?

Lo slice [start:end] estrae un intervallo di elementi dell'array dall'indice start (incluso) a end (escluso). Ad esempio `$.store.book[0:2]` estrae i primi due libri. Se start viene omesso, inizia da 0; se end viene omesso, arriva alla fine dell'array. Supporta anche passo negativo per l'attraversamento inverso.

Posso usare più condizioni in un filtro?

Questa versione implementa un sottoinsieme di sintassi JSONPath che copre il 90% degli scenari di uso quotidiano. I filtri semplici con operatori di confronto ==/!=/&gt;/&lt;/&gt;=/&lt;= sono completamente supportati. Per più condizioni o espressioni di script complesse, considera librerie specializzate. Lo strumento mostra un messaggio chiaro se rileva sintassi non supportata.

Come passo dalla visualizzazione JSON grezza alla visualizzazione tabella strutturata?

È sufficiente fare clic sul pulsante di cambio visualizzazione nella barra degli strumenti. La vista JSON mostra la struttura gerarchica con indentazione ed evidenziazione sintassi. La vista tabella presenta i risultati dell'estrazione come tabella strutturata, facilitando la consultazione e l'esportazione di dati tabulari.

Ci sono esempi integrati per iniziare rapidamente?

Sì, 8 esempi integrati coprono scenari di uso comune: accesso semplice a proprietà, indice array, jolly, slice, filtro ecc. Fai clic sul pulsante esempi nella barra degli strumenti per caricare rapidamente un esempio e comprendere la sintassi senza scrivere da zero.

Come funziona la riparazione automatica degli errori JSON?

Se il JSON incollato contiene errori di sintassi comuni (virgole finali, virgolette mancanti ecc.), lo strumento tenta una riparazione automatica prima di eseguire la query. Questo evita blocchi dovuti a errori di formattazione minori e migliora la continuità del flusso di lavoro.

Cos'è il ritardo debounce di 400ms e perché?

Lo strumento usa debounce di 400ms: la query viene eseguita automaticamente 400ms dopo l'ultima pressione di tasto. Questo evita esecuzioni troppo frequenti durante la digitazione, garantisce fluidità nella scrittura ed evita carichi non necessari, particolarmente utile per elaborare JSON di grandi dimensioni.

Ci sono scorciatoie da tastiera per migliorare l'efficienza?

Sì, diverse scorciatoie da tastiera integrate: Ctrl/Cmd+Invio per eseguire query, Ctrl/Cmd+Shift+C per copiare risultati, Ctrl/Cmd+K per cancellare, Ctrl/Cmd+Y per cambiare visualizzazione. Consulta il menu scorciatoie nella barra degli strumenti per l'elenco completo.

Quante query vengono salvate nella cronologia?

Lo strumento salva automaticamente le ultime 200 query nel localStorage del browser. Puoi recuperare, rieseguire o eliminare elementi della cronologia rapidamente. I dati della cronologia rimangono localmente nel browser e non vengono mai inviati a server.

I dati vengono inviati a server?

No, tutta l'elaborazione avviene localmente nel browser. Il JSON inserito e le espressioni di query non escono mai dal tuo dispositivo, garantendo privacy assoluta di dati sensibili di test e informazioni aziendali. Anche dopo aver chiuso la pagina, nessun dato viene conservato sul server.

Quale editor viene usato per l'input JSON?

Lo strumento integra l'editor CodeMirror con evidenziazione sintassi professionale, piegatura del codice, numerazione delle righe e corrispondenza delle parentesi. Offre un'esperienza di editing simile a IDE, rendendo più confortevole l'inserimento e la modifica di JSON.

Informazioni su JSONPath e query online

JSONPath è un linguaggio di espressione per interrogare ed estrarre dati da strutture JSON. Ispirato a XPath per XML, fornisce un modo per attraversare la gerarchia JSON e localizzare campi o valori con precisione, simile a come le query SQL interrogano i database. È diventato uno strumento indispensabile per sviluppatori e tester che lavorano con API e dati JSON.

Il concetto fondamentale di JSONPath è l'uso di espressioni di percorso per navigare nella struttura ad albero JSON. Il simbolo radice $ rappresenta il punto di partenza, poi l'operatore punto . accede a proprietà figlie, e le parentesi quadre [] accedono a elementi di array per posizione. Ad esempio, l'espressione $.store.book[0].title parte dalla radice, accede all'oggetto store, poi all'array book, prende il primo elemento e restituisce il valore del campo title.

Per gli array, JSONPath supporta diverse modalità di accesso: indici numerici semplici come [0] per il primo elemento, indici negativi [-1] per l'ultimo elemento senza conoscerne la lunghezza, jolly * per corrispondere a tutti gli elementi, e sintassi di slice [start:end] per estrarre intervalli di elementi consecutivi. Queste funzionalità coprono la grande maggioranza delle esigenze di accesso agli array negli scenari comuni.

L'operatore jolly * può essere usato per corrispondere a qualsiasi proprietà o elemento. Ad esempio $.store.* restituisce tutti i campi diretti in store, e $.store.book[*] restituisce tutti gli elementi nell'array book. Questo è particolarmente utile per attraversare tutti i figli senza conoscere nomi di campi espliciti.

La funzionalità di filtro ?() è un meccanismo potente per la selezione condizionale dei dati. Nei filtri, @ rappresenta il nodo corrente, e gli operatori di confronto ==/!=/&gt;/&lt;/&gt;=/&lt;= possono essere usati per filtrare elementi per condizione. Ad esempio $.store.book[?(@.price &lt; 10)] seleziona tutti i libri nell'array book il cui prezzo è inferiore a 10: molto pratico per estrarre rapidamente sottoinsiemi di dati che soddisfano criteri.

Questo strumento integra diverse funzionalità per migliorare l'esperienza d'uso: editor CodeMirror con evidenziazione sintassi professionale, doppia visualizzazione JSON/tabella per presentazione risultati adattabile, 8 esempi integrati per inizio rapido, riparazione automatica di errori JSON comuni, debounce di 400ms per esecuzione fluida durante la digitazione, scorciatoie da tastiera per efficienza e 200 voci di cronologia locale per recuperare espressioni precedenti.

Tutta l'elaborazione avviene localmente nel browser: JSON ed espressioni di query non vengono mai inviati a server, garantendo privacy assoluta di dati sensibili come chiavi API, token e informazioni aziendali. Questo è particolarmente importante per gli ingegneri di test che elaborano risposte API di produzione con dati sensibili.

Questo strumento implementa un sottoinsieme di sintassi JSONPath accuratamente selezionato che copre il 90% degli scenari di uso quotidiano: accesso a proprietà, indici di array (positivi/negativi), jolly *, slice [start:end] e filtri semplici ?() con operatori di confronto. Funzionalità avanzate come discesa ricorsiva (..), espressioni di script complesse e combinazioni di più condizioni non sono supportate in questa versione, privilegiando stabilità e semplicità per gli usi comuni.

术语表

JSONPath
Linguaggio di espressione per interrogare ed estrarre dati da strutture JSON, simile a XPath per XML
$
Simbolo radice che rappresenta l'oggetto o array JSON radice, punto di partenza di ogni espressione JSONPath
@
Nodo corrente nelle espressioni di filtro, rappresenta l'elemento in elaborazione
.
Operatore di accesso figlio per accedere a proprietà di oggetto, ad esempio $.store.book accede al campo book in store
[]
Operatore di indice array per accedere a elementi per posizione, [-1] rappresenta l'ultimo elemento
*
Jolly che corrisponde a qualsiasi proprietà o elemento di array, ad esempio $.store.* restituisce tutti i campi in store
[start:end]
Slice di array per estrarre un intervallo di elementi dall'indice start a end (escluso)
?()
Espressione di filtro per selezionare elementi che soddisfano una condizione, usando operatori di confronto
Vista tabella
Presentazione dei risultati di estrazione come tabella strutturata con colonne e righe per lettura facilitata
Debounce 400ms
Tempo di attesa prima di eseguire la query dopo l'ultima pressione di tasto, evita esecuzioni eccessive durante la digitazione
localStorage
Archiviazione locale del browser per salvare la cronologia delle query senza inviare dati a server
CodeMirror
Libreria di editor di codice integrata che offre evidenziazione sintassi professionale e funzionalità di editing

Tabella di riferimento sintassi JSONPath

Sintassi JSONPath supportata con descrizioni ed esempi

SintassiDescrizioneEsempio
$Oggetto/array radice$
.propertyAccesso a proprietà figlia$.store.book
[n]Indice array (n positivo/negativo)$.book[0] / $.book[-1]
*Jolly, qualsiasi campo/elemento$.store.*
[start:end]Slice di array$.book[0:2]
?(condition)Filtro condizionale$.book[?(@.price &lt; 10)]

Tabella operatori di confronto per filtri

Operatori di confronto utilizzabili nelle espressioni di filtro ?()

OperatoreSignificatoEsempio
==Uguale a?(@.price == 10)
!=Diverso da?(@.category != "reference")
&gt;Maggiore di?(@.price &gt; 10)
&lt;Minore di?(@.price &lt; 10)
&gt;=Maggiore o uguale a?(@.price &gt;= 10)
&lt;=Minore o uguale a?(@.price &lt;= 10)

Tabella scorciatoie da tastiera

Scorciatoie da tastiera integrate per migliorare l'efficienza

ScorciatoiaAzione
Ctrl/Cmd + InvioEsegui query
Ctrl/Cmd + Shift + CCopia risultati
Ctrl/Cmd + KCancella editor e query
Ctrl/Cmd + YPassa tra vista JSON e tabella

Privacy & Security

Tutte le query JSONPath, le modifiche JSON e le elaborazioni in questo strumento vengono eseguite completamente nel tuo browser. I dati non vengono inviati a server, né archiviati o memorizzati nella cache in remoto. Anche durante l'elaborazione di risposte API con chiavi, token o informazioni aziendali sensibili, è assolutamente sicuro. Dopo aver chiuso o aggiornato la pagina, i dati vengono rimossi (la cronologia viene salvata solo nel tuo localStorage).

Authoritative References

Troubleshooting

Nessun risultato restituito / percorso non trovato

Verifica che i nomi dei campi siano scritti correttamente (distingue maiuscole/minuscole), che la struttura JSON corrisponda al percorso atteso. Prova prima un esempio integrato per validare il funzionamento, poi costruisci l'espressione gradualmente dalla radice.

Errore di sintassi JSON nell'input

Lo strumento tenta la riparazione automatica degli errori comuni. Se la riparazione fallisce, verifica le virgolette doppie per chiavi e stringhe, l'assenza di virgola finale dopo l'ultimo elemento, le coppie di graffe/parentesi quadre chiuse correttamente. Usa lo strumento di riparazione JSON se necessario.

L'espressione di filtro non funziona come atteso

Verifica che @ faccia riferimento al campo corretto nell'array, che i valori confrontati siano del tipo appropriato (numeri senza virgolette, stringhe con virgolette doppie). Questa versione supporta filtri semplici; più condizioni e script non sono supportati.

La discesa ricorsiva .. non funziona

La discesa ricorsiva (..) non è supportata in questa versione. Questo strumento implementa un sottoinsieme di sintassi che copre il 90% degli scenari comuni. Per la ricerca ricorsiva profonda, costruisci percorsi espliciti livello per livello.