100 % local — seus dados nunca saem do seu navegador

JSON para query string — pronto para a URL

Converta um objeto JSON plano em query string de URL. A codificação por porcentagem já vem feita e os arrays viram chaves repetidas.

Instantâneo Privado Zero cookies

Entrada JSON

Saída Query String

O que esta ferramenta faz

Um objeto JSON plano vira a parte da URL que vem depois do ?.

{ "q": "café au lait", "page": 2 }
q=caf%C3%A9+au+lait&page=2

O ? em si não vai incluído: você normalmente cola isto atrás de um que já tem.

Os arrays viram chaves repetidas

{ "tag": ["news", "draft"] }
tag=news&tag=draft

Nenhuma norma diz como um array cabe numa query string: tag[]=, tag[0]=, uma lista separada por vírgulas e as chaves repetidas estão todas em uso em algum lugar. Chaves repetidas é o que o URLSearchParams e a maioria dos frameworks de servidor releem sem configuração, e o que a ferramenta inversa deste site devolve como array.

O aninhamento interrompe a conversão

{ "filter": { "status": "open" } }

é recusado, e a mensagem nomeia filter. Achatá-lo para filter.status=open ou filter[status]=open seria inventar uma convenção; quem recebe precisa concordar com ela, e nada no JSON diz qual ele espera.

Os tipos não sobrevivem, e o null menos que todos

Tudo, numa query string, é texto. 2 e "2" saem idênticos, true sai em quatro letras, e todos voltam como strings.

null vira um valor vazio:

{ "ref": null }
ref=

que é relido como "", não como null. A chave se mantém e o seu vazio também, mas a distinção entre nada e texto vazio sumiu — uma query string não tem como escrevê-la. Isso está dito aqui porque é o tipo de perda que, senão, se descobre em produção.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Como os arrays são codificados: colchetes ou chaves repetidas?
Chaves repetidas: `{"tag":["a","b"]}` vira `tag=a&tag=b`. Nenhuma norma rege arrays numa query string, então a escolha é entre convenções. Esta é a que o `URLSearchParams` relê e a que a ferramenta inversa deste site devolve como array: o par é simétrico.
Por que meu espaço é um `+` e não um `%20`?
Porque a saída segue a codificação de formulário, onde `+` vale espaço. Um decodificador de formulário lê os dois igual. Um que só decodifica porcentagens, não: ele vê um mais literal. Se a string for para um destino assim, troque `+` por `%20` antes de enviar.
Consigo recuperar meus tipos depois?
Não. Uma query string carrega apenas texto: `2`, `true` e `"2"` saem com os mesmos caracteres e voltam como strings. O null é pior: vira valor vazio, indistinguível de uma string vazia. Esta página diz onde essa perda acontece em vez de calá-la.

Conversores relacionados