Convertitore da query string a JSON
Incolli la parte di interrogazione di un indirizzo web e legga ogni chiave con il suo valore decodificato: tag=sale&tag=new diventa un elenco tag con sale e new, e i codici percentuali tornano a essere São Paulo. I valori vuoti restano visibili. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Una stringa di query è facile da riconoscere, ma diventa scomoda da esaminare quando contiene caratteri codificati, valori vuoti, filtri ripetuti e indicatori specifici dell’applicazione. Decodifica le sequenze percentuali come UTF-8, interpreta i segni più come spazi, mantiene visibili i valori vuoti e rappresenta i nomi ripetuti come elenchi nell’ordine originale. La trasformazione è deterministica e adatta all’analisi delle richieste, ai dati di test, ai log e agli strumenti di sviluppo.
Trasformi parametri compatti in un oggetto facile da esaminare
Le stringhe di query sono progettate per trasportare dati, non per risultare comode da leggere. Un browser o un client può inviare in un’unica riga compatta un termine di ricerca, più etichette selezionate, un campo facoltativo vuoto e una località con caratteri internazionali. Un parametro scritto senza segno uguale viene mantenuto con una stringa vuota, proprio come un parametro seguito esplicitamente da un segno uguale senza contenuto.
I segmenti vuoti tra e commerciali vengono ignorati perché non contengono parametri. In questo modo Lei può confrontare l’output con lo stato dell’applicazione: i valori restano visibili, i vuoti non vengono eliminati e i contatori mostrano sia le chiavi distinte sia il totale delle coppie elaborate. Il parser non contatta il server di destinazione e non deduce tipi applicativi; valori come true, 42 e null rimangono stringhe.
Comprenda la decodifica e la gestione delle chiavi ripetute
Ogni chiave e ogni valore vengono decodificati separatamente secondo le regole convenzionali dei moduli web. Un segno più diventa uno spazio, mentre le sequenze percentuali come %20 e le sequenze UTF-8 multibyte diventano i caratteri previsti. Il segno uguale è speciale soltanto alla prima occorrenza nella coppia, quindi un valore può contenere altri segni uguali senza essere nuovamente diviso.
Le chiavi ripetute vengono conservate invece di essere sovrascritte: la prima occorrenza nasce come stringa, la seconda trasforma la proprietà in un elenco e le successive vengono aggiunte nell’ordine ricevuto. Per esempio, tag=sale&tag=new produce un elenco tag con sale seguito da new. È utile per filtri, gruppi di caselle e framework che serializzano più selezioni sotto un solo nome.
Le sequenze percentuali non valide causano un errore di input invece di una decodifica parziale; vengono rifiutati anche i byte codificati che non costituiscono UTF-8 valido.
Usi il risultato in test, log e diagnosi delle richieste
L’oggetto convertito è utile ogni volta che Lei deve comprendere una query prima che il codice la utilizzi. Nei test automatizzati, converta stringhe rappresentative in dati stabili e verifichi che filtri ripetuti, testo internazionale, segni più e campi vuoti assumano la forma prevista. Quando esamina i log, la struttura è più facile da leggere e confrontare rispetto a una lunga riga codificata, soprattutto se una chiave compare più volte.
Tale confine impedisce a uno strumento generico di inventare significati non dichiarati dal mittente. I nomi delle proprietà sono trattati in sicurezza come dati, anche quando ricordano elementi interni di JavaScript.
Casi d'uso
Esamini dati codificati nei log
Renda leggibili i parametri codificati prima di analizzare ricerche, reindirizzamenti o integrazioni di tracciamento.
Domande frequenti
Posso includere il punto interrogativo iniziale?
Sì. L’input può iniziare con un punto interrogativo oppure contenere soltanto i caratteri successivi.
Come vengono rappresentati i parametri ripetuti?
Una chiave presente una volta ha un valore stringa. Se si ripete, i valori formano un elenco nell’ordine originale.
Vengono decodificati i segni più e le sequenze percentuali?
Sì. I segni più diventano spazi e i byte percentuali validi sono decodificati come UTF-8 sia nelle chiavi sia nei valori.
Numeri e valori true o false cambiano tipo?
No. Ogni valore resta il testo inviato, quindi 42 o true compaiono esattamente come scritti. Niente viene convertito per supposizione, e il risultato mostra fedelmente ciò che portava l'indirizzo.
Che cosa succede con un codice percentuale non valido?
L'intera interrogazione viene rifiutata invece di essere decodificata a metà. Lo stesso vale per byte codificati che non formano testo UTF-8 valido, perché un risultato parziale ma plausibile potrebbe nascondere il vero problema.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/dev/query-string-to-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"?search=blue+shoes&tag=sale&tag=new&city=S%C3%A3o+Paulo&empty="}'const res = await fetch("https://api.kit.forhosting.com/dev/query-string-to-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "?search=blue+shoes&tag=sale&tag=new&city=S%C3%A3o+Paulo&empty="
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/query-string-to-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "?search=blue+shoes&tag=sale&tag=new&city=S%C3%A3o+Paulo&empty="
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/query-string-to-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"?search=blue+shoes&tag=sale&tag=new&city=S%C3%A3o+Paulo&empty="}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"?search=blue+shoes&tag=sale&tag=new&city=S%C3%A3o+Paulo&empty="}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/query-string-to-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "?search=blue+shoes&tag=sale&tag=new&city=S%C3%A3o+Paulo&empty="
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.query_string_to_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Questo convertitore da stringa di query a JSON trasforma tale formato di trasporto compatto in un oggetto strutturato che Lei può leggere, copiare, confrontare o inserire in un flusso di debug.
Trasformi parametri compatti in un oggetto facile da esaminare
Incolli nel convertitore la parte successiva al percorso dell’URL, con o senza il punto interrogativo iniziale: il risultato separerà ogni parametro in una proprietà JSON. Questo comportamento prevedibile rende il JSON una rappresentazione fedele di ciò che la query trasportava realmente.
Comprenda la decodifica e la gestione delle chiavi ripetute
Questo controllo rigoroso evita che un risultato plausibile nasconda una richiesta malformata. pair_count include le ripetizioni, mentre key_count indica i nomi decodificati distinti.
Usi il risultato in test, log e diagnosi delle richieste
Durante lo sviluppo di un’API, incolli la stringa di una richiesta non riuscita e confronti il JSON decodificato con i parametri attesi dalla route. Il convertitore evita deliberatamente la coercizione dello schema: se l’applicazione richiede un numero, un booleano, una data o una convenzione annidata con parentesi, applichi successivamente la sua validazione.
Casi di integrazione
Esegua il debug di una richiesta API
Decodifichi la query esatta inviata da un client e confronti chiavi, valori vuoti e filtri ripetuti con il contratto della route.
Crei dati di test stabili
Trasformi stringhe rappresentative in risultati JSON deterministici per test di integrazione e regressione.
Domande tecniche
Quanto costa il convertitore?
Lo strumento nel browser è gratuito. Le richieste API usano il prezzo base pubblicato di $0.002.
Numeri e booleani vengono convertiti in tipi JSON?
No. I parametri restano stringhe, così il convertitore non presume uno schema e non modifica i dati inviati.