Che cosa è un tester JSONPath?
Un tester JSONPath valuta un'espressione JSONPath rispetto a un documento JSON e restituisce ogni valore selezionato dall'espressione, insieme al percorso esatto di ogni corrispondenza JSONPath è un linguaggio di query per JSON, il modo in cui XPath è un linguaggio di query per XML: si scrive un percorso breve come $.store.book[*].author e si riprende l'elenco dei valori corrispondenti senza scrivere alcun codice Questo strumento analizza il tuo JSON, esegue l'espressione e mostra sia i risultati che il percorso normalizzato di ciascuno.
Il punto di un tester è il feedback Quando un'espressione JSONPath non restituisce nulla, o restituisce più di quanto ci si aspettasse, il problema è quasi sempre un piccolo dettaglio di sintassi: un carattere jolly mancante, lo stile di parentesi sbagliato o un filtro che confronta una stringa con un numero Eseguendo la query in diretta contro dati reali, e vedendo quali nodi tocca, trasforma quelle congetture in un controllo di due secondi È lo stesso motivo per cui gli sviluppatori tengono aperto un tester regex accanto al loro editor.
Tutto viene eseguito nel browser Il JSON viene analizzato con il parser JSON integrato e l'espressione viene valutata da un piccolo interprete scritto in JavaScript, quindi non viene caricato, registrato o archiviato nulla Ciò è importante perché il lavoro di JSONPath di solito avviene contro le risposte API e i file di configurazione che trasportano token, ID o record dei clienti e questo strumento mantiene quel payload sulla tua macchina e continua a funzionare offline una volta caricata la pagina.
JSONPath è una convenzione con diverse implementazioni piuttosto che una singola specifica, e non sono d'accordo ai bordi La sintassi del filtro è la parte meno portatile, quindi un'espressione che funziona in una libreria potrebbe aver bisogno di essere regolata in un'altra La discesa ricorsiva è l'operazione costosa: cammina su ogni nodo del documento, quindi su un file di grandi dimensioni una query che inizia con due punti è notevolmente più lenta di un percorso esplicito.
Per provarlo come valutatore online JSONPath, fai clic su Carica campione, sostituisci l'espressione con $.store.book[?(@.price < 10)].title e fai clic su Valuta. La modalità Valori restituisce ["Detti del secolo", "Moby Dick"] con il riquadro contrassegnato da 2 risultati Passa Output a Percorsi e fai nuovamente clic su Valuta, e la stessa query restituisce $.store.book[0].title e $.store.book[2].title, che ti dice che il filtro ha saltato i libri all'indice 1 e 3. Cambia l'espressione in $..price e ottieni cinque numeri, perché anche la discesa ricorsiva raggiunge la bicicletta.
Come utilizzare il tester JSONPath?
Incolla il tuo JSON
Incolla un oggetto o un array nella casella JSON oppure fai clic su Carica campione per il documento della libreria L'input deve essere JSON valido; viene mostrato un errore di analisi con il messaggio del browser, che di solito nomina la posizione in modo da poterlo correggere.
Scrivi un'espressione JSONPath
Inserisci un percorso come $.store.book[*].title o $..price. Inizia da $ per la radice, usa punti o parentesi per i bambini e aggiungi filtri come [?(@.price < 10)] per selezionare in base al valore.
Leggi le partite
Fare clic su Valuta per eseguire l'espressione; il riquadro Corrispondenze elenca ogni valore corrispondente e mostra il conteggio dei risultati Passare l'output a percorsi o voci e fare nuovamente clic su Valuta per vedere da dove proviene ciascun risultato.
Copia il risultato
Copia i valori abbinati, l'elenco dei percorsi o le voci complete di percorso e valore come JSON da incollare nel codice, nei test o nella documentazione.
Caratteristiche principali
Sintassi a percorso completo
Radice, figlio, discesa ricorsiva (..), carattere jolly (*), indice di array incluso indice negativo, unioni e sezioni in stile Python sono tutti supportati, quindi la maggior parte degli esempi JSONPath pubblicati rimangono invariati.
Filtra espressioni
Seleziona i nodi per valore con filtri come [?(@.price < 10 & @.category == "fiction")]. Operatori di confronto, controlli di esistenza e && / || le combinazioni vengono valutate per elemento.
Valori, percorsi o voci
Vedere i valori abbinati, il percorso normalizzato di ogni corrispondenza o entrambi insieme come voci L'output del percorso è utile per costruire l'espressione di cui hai bisogno.
Cancella messaggi di errore
JSON non valido e le espressioni non valide vengono riportate separatamente con un messaggio specifico, in modo da sapere se correggere i dati o la query anziché fissare un risultato vuoto.
Frequently Asked Questions
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSON to XML
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
XML Formatter
Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting
Comments
0 comments
No comments yet. Be the first to share your thoughts!