Tester JSONPath gratuito — Valuta query online
Testa le espressioni JSONPath su qualsiasi JSON in tempo reale online. Motore standard RFC 9535 più modalità Classic (Goessner), viste Valori / Percorsi / Entrambi, percorsi normalizzati, senza eval. 100% privato nel browser.
Cos'è un tester JSONPath?
Un tester JSONPath è uno strumento che ti permette di scrivere un'espressione JSONPath, incollare un documento JSON e vedere esattamente quali nodi seleziona l'espressione — sia i valori corrispondenti sia le loro posizioni precise — senza scrivere codice o eseguire uno script. Per gli sviluppatori accorcia il ciclo da minuti a millisecondi: modifica il percorso, guarda il risultato cambiare e rilascia la query con sicurezza.
JSONPath è un linguaggio di query per JSON, l'analogo per JSON di XPath per XML. Un'espressione è costruita a partire da un piccolo alfabeto di selettori. $ è la radice del documento. Un punto o una parentesi entra in un figlio: $.store o $['store']. Il doppio punto .. è la discesa ricorsiva — cerca in ogni livello dell'albero. Il jolly * seleziona tutti gli elementi o i membri. Le parentesi contengono indici di array ([0]), slice ([start:end:step]), unioni ([a,b]) ed espressioni di filtro ([?(@.price < 10)], dove @ è l'elemento in fase di test). Con questi pezzi puoi estrarre un singolo campo da una risposta API profondamente annidata, fare asserzioni sui valori nei test, guidare trasformazioni di dati in sistemi come Kubernetes, AWS Step Functions e Azure Logic Apps, o estrarre dati strutturati da JSON irregolari — il tutto senza codice di attraversamento imperativo. JSONPath è anche notoriamente incoerente tra le implementazioni, che è esattamente il problema che un buon tester fa emergere prima che raggiunga la produzione.
Questo tester include due motori. Il predefinito è un motore RFC 9535: RFC 9535 è la specifica formale di JSONPath dell'IETF del febbraio 2024, la prima volta che il linguaggio è stato standardizzato con precisione dopo quindici anni di implementazioni divergenti. Definisce una grammatica esatta, il concetto di percorsi normalizzati per i risultati e cinque funzioni standard — length(), count(), match(), search(), value(). Il nostro motore RFC 9535 è un'implementazione senza dipendenze che non usa eval, quindi analizza e interpreta le espressioni con la propria grammatica invece di compilarle in JavaScript. Il secondo motore è Classic (Goessner), il dialetto di fatto del 2007 che la maggior parte degli strumenti e delle librerie online più vecchi implementa; passa ad esso per riprodurre i risultati di uno strumento come jsonpath.com o per eseguire un'espressione copiata da codice legacy. I due dialetti concordano sui percorsi comuni ma divergono nei casi limite — spazi e virgolette nei filtri, ordinamento delle unioni, come si confrontano i membri mancanti e quali funzioni esistono — perciò poter passare dall'uno all'altro in un solo posto è il modo più rapido per diagnosticare perché un'espressione si comporta diversamente da quanto ti aspettavi.
Ciò che il tester fa emergere oltre ai valori grezzi: il risultato di una query JSONPath è una nodelist, e questo strumento può mostrarla in tre modi. La vista Valori rende i nodi corrispondenti come un array JSON, esattamente ciò che consumeresti nel codice. La vista Percorsi rende il percorso normalizzato di ogni corrispondenza — una posizione canonica, tra parentesi e virgolette, come $['store']['book'][0]['title'] che identifica in modo univoco dove vive il valore nel documento, indipendentemente da come è stata scritta l'espressione. Due espressioni che selezionano lo stesso nodo producono lo stesso percorso normalizzato, il che rende la vista Percorsi preziosissima per il debug. La vista Entrambi mostra valori e percorsi affiancati. Una riga di statistiche riporta quanti nodi hanno corrisposto.
La sicurezza qui è una preoccupazione di primo piano. Molti valutatori JSONPath online girano su un server, oppure incorporano una libreria che valuta i predicati di filtro con l'eval di JavaScript — il design che ha prodotto le vulnerabilità di esecuzione di codice remoto tracciate come CVE-2024-21534 e CVE-2025-1302 in pacchetti JSONPath ampiamente usati. Questo strumento non usa alcun eval. Il motore RFC 9535 non ha alcun percorso eval, e il motore Classic è costruito su una release con patch e fissata di jsonpath-plus con eval esplicitamente disabilitato. Questo chiude la classe di bug RCE e consente allo strumento di girare sotto una Content-Security-Policy rigorosa che vieta unsafe-eval. Ogni valutazione è locale: il tuo JSON e la tua espressione non lasciano mai la pagina, non vengono mai registrati e non vengono mai memorizzati su disco — solo le tue preferenze di motore e vista persistono in localStorage. Questo rende lo strumento sicuro per payload API proprietari, log oscurati, configurazioni interne e qualsiasi dato con uno schema che non incolleresti in un servizio basato su server.
Se la gestione del JSON è il tuo compito, abbina questo agli altri strumenti JSON del sito: formatta e abbellisci il tuo input con il Formattatore JSON, confronta due documenti con il JSON Diff, verifica un payload rispetto a uno schema con il JSON Schema Validator, oppure trasforma una risposta campione in interfacce tipizzate con JSON to TypeScript.
// The expression you build in this tester maps straight onto the
// RFC 9535 reference library used under the hood.
import { query, paths } from 'jsonpath-rfc9535';
const document = {
store: {
book: [
{ title: 'Sayings of the Century', author: 'Nigel Rees', price: 8.95 },
{ title: 'Sword of Honour', author: 'Evelyn Waugh', price: 12.99 },
{ title: 'Moby Dick', author: 'Herman Melville', price: 8.99 },
{ title: 'The Lord of the Rings', author: 'J. R. R. Tolkien', price: 22.99 }
]
}
};
// Values: query(document, path) returns the matched values directly.
const titles = query(document, '$.store.book[*].title');
// → ['Sayings of the Century', 'Sword of Honour', 'Moby Dick', 'The Lord of the Rings']
// Filter: books cheaper than 10.
const cheap = query(document, '$.store.book[?(@.price < 10)].title');
// → ['Sayings of the Century', 'Moby Dick']
// Normalized paths: paths(document, path) returns where each match lives.
const authorPaths = paths(document, '$..author');
// → ["$['store']['book'][0]['author']", "$['store']['book'][1]['author']", ...]
// RFC 9535 functions like length() are used INSIDE filters, not as a segment.
const longTitles = query(document, '$.store.book[?length(@.title) > 15]');
// → the two books whose title is longer than 15 characters Caratteristiche principali
Motore standard RFC 9535 (senza eval)
Il motore predefinito implementa RFC 9535, la specifica formale di JSONPath dell'IETF del 2024 — grammatica esatta, percorsi normalizzati e le cinque funzioni standard. È senza dipendenze e non usa eval, quindi analizza e interpreta le espressioni con la propria grammatica invece di compilarle in JavaScript. Gira sotto una Content-Security-Policy rigorosa.
Modalità di compatibilità Classic (Goessner)
Un solo interruttore passa a un motore compatibile con Goessner (costruito su jsonpath-plus, con eval disabilitato) così le espressioni copiate da strumenti più vecchi come jsonpath.com si comportano come le hai viste lì. Passa tra RFC 9535 e Classic per confrontare i risultati e diagnosticare perché un percorso corrisponde diversamente tra i dialetti.
Tre viste dei risultati: Valori, Percorsi, Entrambi
Valori rende i nodi corrispondenti come un array JSON, esattamente ciò che consumi nel codice. Percorsi rende il percorso normalizzato di ogni corrispondenza come $['store']['book'][0]['title']. Entrambi li mostra affiancati così puoi mappare ogni valore alla sua posizione precisa. La vista attiva persiste tra le sessioni.
Percorsi normalizzati per ogni corrispondenza
Ogni risultato porta il proprio percorso normalizzato canonico, tra parentesi e virgolette — il modo in cui RFC 9535 identifica in modo univoco la posizione di un nodo indipendentemente da come è stata scritta l'espressione. Due espressioni che colpiscono lo stesso nodo producono lo stesso percorso normalizzato, il che semplifica il debug di query ambigue.
Supporto completo dei selettori
Radice $, elemento corrente @, figlio .name, discesa ricorsiva ..name, jolly [*], indice di array [0], slice [start:end:step], unione [a,b] ed espressioni di filtro [?()] con operatori di confronto e logici. Un prontuario integrato documenta ogni selettore così non devi mai lasciare la pagina per cercarne uno.
Estensioni di funzione RFC 9535
Richiama length(), count(), match(), search() e value() all'interno delle espressioni — conta gli elementi di un array, testa una stringa rispetto a un pattern I-Regexp, oppure filtra in base alla dimensione di una lista annidata. Queste funzioni standard sono disponibili nel motore predefinito; lo strumento ti dice di cambiare motore se le invochi in modalità Classic.
Formatta, Carica ed Esempi
Formatta JSON abbellisce il tuo input così la struttura è leggibile prima di interrogarla. Carica legge un file .json o .txt interamente nel browser — non viene mai inviato da nessuna parte. Il menu a discesa Esempi carica espressioni di partenza affidabili su dati campione così vedi il motore al lavoro prima di adattare un percorso.
Condivisione tramite permalink (nessun upload)
Copia link codifica il JSON, l'espressione, il motore e la vista nell'hash dell'URL. I browser non trasmettono mai i frammenti URL nelle richieste, quindi un link condiviso riproduce il tuo stato completo sulla macchina del destinatario senza toccare i server di go-tools.org. Autonomo e tracciabile per il debug collaborativo.
100% privato, solo browser
Il tuo JSON e la tua espressione non lasciano mai il tuo dispositivo. Nessuna richiesta di rete, nessun log, nessuna analisi su ciò che digiti — verifica in DevTools → Rete. Solo le preferenze di motore e vista persistono in localStorage. Sicuro per payload proprietari, log oscurati e qualsiasi dato che non incolleresti in jsonpath.com.
Esempi svolti
Selezionare ogni titolo di libro da un documento di libreria
$.store.book[*].title
["Sayings of the Century", "Sword of Honour", "Moby Dick", "The Lord of the Rings"]
Incolla il classico JSON della libreria di Goessner, digita l'espressione e la vista Valori restituisce un array JSON di tutti e quattro i titoli. Passa a Percorsi per vedere ogni risultato come un percorso normalizzato come $['store']['book'][0]['title']. Il carattere jolly [*] itera su ogni elemento dell'array book; .title proietta un membro da ciascuno.
Filtrare i libri con prezzo inferiore a 10 con un'espressione di filtro
$.store.book[?(@.price < 10)].title
["Sayings of the Century", "Moby Dick"]
Il selettore di filtro [?()] mantiene solo gli elementi dell'array per cui il predicato è vero; @ è l'elemento corrente. Sui dati della libreria (prezzi 8.95, 12.99, 8.99, 22.99) due libri soddisfano la condizione. Entrambi i motori accettano questa forma, ma nota che il Classic (Goessner) scrive lo stesso filtro come [?(@.price<10)] — cambia motore se hai copiato un'espressione da uno strumento più vecchio.
Percorrere l'intero albero con la discesa ricorsiva
$..author
["Nigel Rees", "Evelyn Waugh", "Herman Melville", "J. R. R. Tolkien"]
L'operatore .. discende in ogni livello del documento e raccoglie ciascun membro author ovunque appaia, indipendentemente dalla profondità di annidamento. La discesa ricorsiva è il modo più rapido per estrarre un campo da una struttura profondamente annidata o irregolare senza specificare il percorso completo.
Affettare un array con [start:end:step]
$.store.book[0:2].title
["Sayings of the Century", "Sword of Honour"]
Gli slice di array seguono la stessa convenzione semiaperta [start:end] di Python e JavaScript: dall'indice 0 fino a (ma escludendo) l'indice 2 restituisce i primi due libri. Aggiungi un terzo campo per uno step — $.store.book[::2] prende un elemento ogni due. Il limite finale è esclusivo, una trappola da off-by-one comune che la vista Percorsi rende evidente.
Filtrare per lunghezza del titolo con la funzione length() di RFC 9535
$.store.book[?length(@.title) > 15]
[{"title": "Sayings of the Century", "author": "Nigel Rees", "price": 8.95}, {"title": "The Lord of the Rings", "author": "J. R. R. Tolkien", "price": 22.99}] length() è una delle cinque funzioni standard di RFC 9535 ed è valida solo all'interno di un'espressione di filtro [?...] — mai come segmento di percorso autonomo come $.store.book.length(), che la grammatica di RFC 9535 rifiuta (quella forma di segmento è un'estensione di jsonpath-plus, non JSONPath standard). Qui il filtro mantiene ogni libro il cui titolo ha più di 15 caratteri; sui dati della libreria vengono selezionati i titoli più lunghi di 15 caratteri (ad esempio "Sayings of the Century" e "The Lord of the Rings"), mentre quelli più corti come "Moby Dick" e "Sword of Honour" sono esclusi. count(), match(), search() e value() si usano allo stesso modo all'interno dei filtri. Queste funzioni sono una caratteristica di RFC 9535 — passa al motore standard (quello predefinito) per usarle; la modalità Classic (Goessner) non le implementa.
Selezionare un'unione di due membri con nome
$.store.book[0]['title','author']
["Sayings of the Century", "Nigel Rees"]
Un selettore di unione [a,b] raccoglie più figli in un'unica espressione. Qui estrae sia il titolo che l'autore del primo libro. Le unioni funzionano anche con gli indici di array — [0,2] prende il primo e il terzo elemento. La vista Entrambi abbina ogni valore al suo percorso normalizzato, così puoi vedere esattamente quale membro ha prodotto quale risultato.
Come usare il tester JSONPath
- 1
Incolla o carica il tuo JSON
Trascina il JSON nella casella di input, incollalo, oppure fai clic su Carica per aprire un file .json / .txt dal disco. Formatta JSON re-indenta il documento. Il JSON non valido viene segnalato in linea con un messaggio del parser prima dell'interrogazione.
- 2
Scegli un motore
RFC 9535 (lo standard IETF del 2024, senza eval) è il predefinito. Passa a Classic (Goessner) quando esegui un'espressione copiata da uno strumento più vecchio come jsonpath.com così i risultati corrispondono a ciò che hai visto lì.
- 3
Digita la tua espressione JSONPath
Il $ iniziale è mostrato per te. Inizia con un percorso figlio come .store.book[*].title, un indice come [0], una discesa ricorsiva come ..author, oppure un filtro come [?(@.price < 10)]. I risultati si aggiornano in tempo reale mentre digiti.
- 4
Cambia la vista dei risultati
Valori mostra un array JSON dei valori corrispondenti. Percorsi mostra il percorso normalizzato di ogni corrispondenza come $['store']['book'][0]['title']. Entrambi li mostra affiancati così puoi mappare ogni valore alla sua posizione esatta nel documento.
- 5
Copia il risultato o condividi un permalink
Copia risultato porta l'output nei tuoi appunti. Copia link codifica il JSON, l'espressione, il motore e la vista in un hash dell'URL (nessun upload) così un collega può riprodurre la query esatta localmente sulla propria macchina.
Errori JSONPath comuni
Dimenticata la radice $ iniziale
Ogni espressione JSONPath inizia dalla radice, scritta come $. Ometterla (o scrivere il percorso come se $ fosse implicito) fa sì che la maggior parte dei motori rifiuti l'espressione. Il tester mostra il $ per te, quindi inizia l'input con il selettore successivo — un punto, una parentesi o una discesa ricorsiva.
store.book[*].title → invalid (no root)
$.store.book[*].title → selects every title
Off-by-one nello slice — atteso l'indice finale incluso
Gli slice sono semiaperti: [start:end] arriva fino a (ma escludendo) end. [0:2] restituisce due elementi (indici 0 e 1), non tre. Per includere l'ultimo elemento per indice, usa [start:] oppure sposta il limite finale uno oltre.
$.store.book[0:2] → first TWO books, not three
$.store.book[0:3] → first three books (indices 0,1,2)
Usata un'espressione Classic nel motore RFC 9535 (o viceversa)
Un'espressione copiata da jsonpath.com o jsonpath-plus può essere analizzata o corrispondere diversamente sotto RFC 9535 a causa delle differenze di filtri, unioni e funzioni. Se i risultati sembrano sbagliati, sposta il selettore di motore per corrispondere al dialetto per cui l'espressione è stata scritta.
Classic filter run under RFC 9535 → parse error or unexpected nodes
Switch engine to Classic (Goessner) → reproduces the original result
Chiamata una funzione RFC 9535 come segmento autonomo
length(), count(), match(), search() e value() sono estensioni di funzione di RFC 9535 valide solo all'interno di un filtro [?...]. Una chiamata su segmento autonomo come $.store.book.length() viene rifiutata dalla grammatica di RFC 9535 (è un'estensione di jsonpath-plus, non standard). Chiama la funzione dentro un filtro e usa il motore RFC 9535 predefinito — il motore Classic (Goessner) non implementa queste funzioni.
$.store.book.length() → parse error (not a valid RFC 9535 segment)
$.store.book[?length(@.title) > 15] → books with a title over 15 chars
Dimenticato @ all'interno di un'espressione di filtro
All'interno di un filtro [?()], l'elemento corrente è @, non $. Scrivere $.price si riferisce alla radice del documento anziché all'elemento in fase di test, così il filtro non seleziona nulla o seleziona tutto. Usa @ per indirizzare i membri dell'elemento da filtrare.
$.store.book[?($.price < 10)] → wrong scope
$.store.book[?(@.price < 10)] → books under 10
Quotato il nome di un membro con la sintassi sbagliata
La notazione a parentesi richiede le virgolette attorno alle chiavi stringa: $['store'] o $.store funzionano entrambi, ma $[store] (non quotato tra parentesi) è un errore di indice/identificatore. Usa le virgolette dentro le parentesi per qualsiasi chiave con spazi, punti o caratteri speciali: $['first name'].
$[store][book] → invalid bracket selectors
$['store']['book'] → same as $.store.book
Atteso che la discesa ricorsiva si fermasse al primo livello
$..author non si ferma in cima — raccoglie ogni membro author a ogni profondità. Se vuoi solo i figli diretti, specifica il percorso. La discesa ricorsiva su un documento grande può restituire molti più nodi del previsto.
$..price → every price anywhere in the tree
$.store.book[*].price → only book prices
Chi usa questo strumento
- Estrarre campi da una risposta API
- Estrai ID di richieste, attributi di risorse annidate o un elenco di nomi da un payload JSON senza scrivere codice di attraversamento. Costruisci il percorso qui su una risposta campione, conferma che restituisce esattamente i nodi che vuoi nella vista Valori, poi incolla l'espressione validata nella tua applicazione o nel tuo test.
- Scrivere asserzioni per i test di integrazione
- Molti framework di test e strumenti di contract testing (REST Assured, Karate, Postman) usano JSONPath per fare asserzioni sui corpi delle risposte. Bozza il percorso dell'asserzione qui, verifica che selezioni il nodo giusto su una risposta reale e copialo nel tuo test — intercettando un percorso sbagliato prima che la suite diventi rossa.
- Configurare trasformazioni di dati nelle pipeline
- Kubernetes, AWS Step Functions, Azure Logic Apps e molti strumenti ETL accettano JSONPath per indirizzare i campi nei payload di eventi. Prototipa il percorso esatto su un evento rappresentativo qui, conferma che si risolve e inseriscilo nella configurazione della tua pipeline con la certezza che punti dove intendi.
- Riprodurre un risultato di jsonpath.com in privato
- Hai un'espressione da un valutatore basato su server ma non puoi incollare i tuoi dati in un sito di terze parti? Passa alla modalità Classic (Goessner), carica il tuo JSON e riproduci lo stesso risultato localmente — nessun payload lascia mai il tuo browser, quindi i dati proprietari restano sulla tua macchina.
- Migrare espressioni legacy a RFC 9535
- Stai passando a un sistema che dichiara conformità a RFC 9535? Esegui un'espressione legacy in modalità Classic, poi passa al motore RFC 9535 per vedere se viene ancora analizzata e corrisponde agli stessi nodi. Il confronto a doppio motore individua le differenze di filtri, unioni e funzioni che altrimenti incontreresti in produzione.
- Eseguire il debug del perché un percorso restituisce i nodi sbagliati
- Un percorso che seleziona troppo o troppo poco è difficile da capire dai soli valori. Passa alla vista Percorsi per vedere la posizione normalizzata di ogni corrispondenza — l'indice esatto dell'array, la catena esatta di membri — e l'off-by-one nello slice o la discesa ricorsiva di troppo diventa subito evidente.
- Insegnare o revisionare JSONPath
- Apri un'espressione funzionante su dati campione e percorrila selettore per selettore, passando tra Valori e Percorsi così chi impara vede sia cosa viene selezionato sia dove vive. Il prontuario e gli esempi svolti offrono un riferimento strutturato per la code review o l'onboarding.
Note su motore e algoritmo
- Motore RFC 9535 (jsonpath-rfc9535, senza dipendenze)
- Il motore predefinito implementa direttamente la grammatica RFC 9535 dell'IETF: tokenizza e analizza l'espressione in un albero di sintassi astratto e la interpreta rispetto al documento. Non c'è alcun eval né costruttore Function in tutto il percorso, quindi è immune dalla classe di bug di iniezione tramite eval e gira sotto una Content-Security-Policy rigorosa.
- Motore Classic (jsonpath-plus, eval disabilitato)
- Il motore Classic (Goessner) è jsonpath-plus, fissato a una release con patch (>= 10.4.0) e costruito con l'opzione eval impostata esplicitamente su false. Questo mantiene la compatibilità con il dialetto Goessner chiudendo al contempo i vettori di esecuzione di codice remoto tracciati come CVE-2024-21534 e CVE-2025-1302, che interessavano il percorso di filtro predefinito della libreria basato su eval.
- Generazione del percorso normalizzato
- Ogni corrispondenza viene riportata con il suo percorso normalizzato RFC 9535 — una forma canonica che usa la notazione a parentesi con virgolette singole ($['store']['book'][0]['title']) con gli indici di array come interi nudi. I percorsi normalizzati sono stabili e univoci per nodo, quindi espressioni equivalenti producono percorsi identici, su cui le viste Percorsi ed Entrambi si basano per un'identificazione inequivocabile dei risultati.
- Chunk dei motori a caricamento differito
- Entrambi i motori vengono caricati come chunk JavaScript separati solo quando selezionati per la prima volta, così la pagina iniziale resta leggera e il motore che non usi non viene mai scaricato. Il cambio di motore rivaluta immediatamente l'espressione corrente rispetto al documento corrente, senza ricaricare la pagina.
- Lettura di file locali e formattazione JSON
- Il pulsante Carica usa l'API FileReader del browser per leggere un file .json o .txt nell'input interamente lato client — il file non viene mai trasmesso. Formatta JSON analizza e riserializza l'input con un'indentazione di due spazi, facendo emergere gli errori di parsing in linea così il JSON malformato viene intercettato prima della valutazione.
- Permalink tramite hash dell'URL (mai trasmesso)
- Lo stato di condivisione è codificato nel frammento location.hash, che trasporta il JSON, l'espressione, il motore attivo e la vista dei risultati. I browser non includono mai il frammento nelle richieste HTTP, quindi i server di go-tools.org ricevono zero dati quando si apre un permalink; la ricostruzione avviene interamente sul dispositivo del destinatario.
Best practice JSONPath
- Scegli il motore che corrisponde al tuo obiettivo
- Se il tuo sistema a valle dichiara conformità a RFC 9535, scrivi e valida rispetto al motore RFC 9535. Se stai riproducendo o mantenendo un'espressione di uno strumento o di una libreria più vecchi, usa Classic (Goessner). Validare rispetto al dialetto sbagliato è la ragione più comune per cui un percorso che funzionava nel tester fallisce in produzione.
- Verifica con la vista Percorsi, non solo con i Valori
- La vista Valori ti dice cosa ha corrisposto; la vista Percorsi ti dice dove. Quando una query restituisce valori dall'aspetto giusto, potrebbe comunque selezionarli dalla posizione sbagliata — una discesa ricorsiva di troppo o un jolly troppo ampio. Controlla i percorsi normalizzati per confermare che l'espressione colpisce esattamente i nodi che intendi.
- Attenzione al limite finale esclusivo di uno slice
- [0:2] seleziona gli indici 0 e 1, non da 0 a 2 — il limite finale è esclusivo, proprio come in Python e JavaScript. Gli errori di off-by-one negli slice sono il bug JSONPath più frequente. Usa la vista Percorsi per leggere l'indice esatto di ogni elemento selezionato e conferma il limite prima del rilascio.
- Preferisci un percorso esplicito alla discesa ricorsiva quando puoi
- $..price è comodo ma corrisponde a ogni price ovunque nel documento, inclusi quelli che non intendevi. Quando conosci la struttura, specifica il percorso ($.store.book[*].price) così la query resta precisa e prevedibile man mano che i dati crescono. Riserva .. per forme genuinamente irregolari o sconosciute.
- Mantieni coerenti spazi e virgolette nei filtri
- RFC 9535 segue la sua grammatica con esattezza per le espressioni di filtro, mentre il dialetto classico è più permissivo. Scrivi i filtri in modo pulito — racchiudi i valori letterali stringa tra virgolette singole ('fiction'), tieni gli operatori spaziati ed evita di affidarti al parsing indulgente — così la stessa espressione viene valutata allo stesso modo indipendentemente da quale motore o libreria la eseguirà alla fine.
Domande frequenti
Il mio JSON o la mia espressione JSONPath vengono inviati al vostro server?
Che cos'è JSONPath e a cosa serve?
Qual è la differenza tra RFC 9535 e la sintassi classica di Goessner?
Perché la stessa espressione restituisce risultati diversi nei due motori e come uso un'espressione copiata da jsonpath.com?
Come funzionano le espressioni di filtro [?()]?
Che cosa fa la discesa ricorsiva (..)?
Cosa sono le funzioni length(), count(), match(), search() e value() di RFC 9535?
Come funzionano gli slice di array [start:end:step]?
Cos'è un selettore di unione e come seleziono più chiavi contemporaneamente?
Posso condividere una query JSONPath e il suo JSON tramite un link?
Esiste una dimensione massima del JSON?
In cosa differisce da jsonpath.com ed è sicuro — senza eval?
Cosa mostrano le viste Valori, Percorsi ed Entrambi?
Funziona offline e che dire di una Content-Security-Policy?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
Convertitore da Base64 a immagine
Codifica e formattazione
Decodifica una stringa Base64 o un data URI in un'immagine nel tuo browser. Anteprima, dimensioni e MIME, poi scarica come PNG, JPG, GIF, SVG. Nessun upload.
Convertitore CSV in JSON
Codifica e formattazione
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
Convertitore da .env a JSON
Codifica e formattazione
Incolla un file .env online e ottieni subito il JSON. Password, chiavi API e token non lasciano mai il browser: parser dotenv web, 100% privato, senza upload.
Convertitore da HTML a Markdown
Codifica e formattazione
Converti HTML in Markdown pulito nel tuo browser — tabelle GFM, elenchi di attività e link. Scegli titoli ATX/Setext e link inline o di riferimento. Ottimo per migrare contenuti o alimentare gli LLM. 100% privato.
Convertitore da immagine a Base64
Codifica e formattazione
Converti immagini in data URI Base64 nel tuo browser — PNG, JPG, GIF, WebP, SVG, ICO. Copia l'output HTML, CSS, Markdown e JSON. 100% privato, nessun upload.