1001Ferramentas
🔗Conversores

Conversor JSON ⇄ Query String

Converta um objeto JSON plano em query string (?a=1&b=2) e vice-versa. Suporta arrays no estilo a[]=1&a[]=2. Tudo no navegador.

JSON → Query String


Query String → JSON

Converta entre JSON e query string

Os parâmetros de uma URL, aquela query string no formato ?a=1&b=2, e um objeto JSON guardam a mesma informação em roupagens diferentes. Vai e volta entre os dois o tempo todo no desenvolvimento web, e este conversor traduz nas duas direções.

Pegue um objeto JSON plano e transforme em query string já pronta para a URL, ou faça o oposto e parseie os parâmetros de volta num objeto. Ele encara até arrays no estilo a[]=1&a[]=2, justamente o tipo de detalhe que dá dor de cabeça quando se faz na mão. Bom para montar links, depurar requisições ou ler os parâmetros de uma URL.

Tudo roda no navegador, sem mandar nada para fora. Cole o JSON ou a query string e pegue o formato equivalente já pronto para uso.

Perguntas frequentes

Ele converte JSON com objeto dentro de objeto?
Não converte direito. A ferramenta espera um objeto plano: cada chave vira um par na query string, e valores que sejam arrays viram repetições no formato chave[]=valor. Se o valor for outro objeto, ele é transformado em texto e sai literalmente como [object Object], sem erro e sem aviso. Para estruturas aninhadas, achate o objeto antes, usando algo como usuario.nome de chave, ou codifique o bloco inteiro como JSON dentro de um parâmetro só.
Por que ?a=1 volta como o texto "1" e não como número?
Porque a query string não carrega tipo: tudo que está numa URL é texto, e o parser devolve strings em vez de inventar informação. O mesmo vale para true, false e null, que voltam entre aspas. A ida e volta, portanto, não é perfeita, e o JSON que entra pode não ser idêntico ao que sai. Outro detalhe: chave repetida sem os colchetes, como a=1&a=2, também vira array, igual ao que aconteceria com a[]=1&a[]=2.
A saída travou e não muda mais. O que houve?
Provavelmente uma sequência de escape inválida no lado query string para JSON. Ali a decodificação não tem tratamento de erro, então um % solto ou algo como %ZZ derruba a função e a caixa de saída fica com o resultado anterior, como se nada tivesse acontecido. No sentido JSON para query string o comportamento é melhor: erro de sintaxe aparece escrito na saída, com a mensagem do parser. Nos dois casos o texto fica no navegador e não é enviado a lugar nenhum.

Ferramentas Relacionadas