ForHosting KIT · Dados e planilhas

Converter objeto JSON em query string

Monte o final de um endereço web com os seus valores sem quebrá-lo: um nome, uma cidade, um indicador de sim ou não e uma pontuação viram 4 parâmetros, e Ada Lovelace viaja como Ada%20Lovelace. O resultado vem com e sem o ponto de interrogação. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.

Montar à mão a junção de ampersands e sinais de igual falha assim que um valor contém espaço, ampersand, letra não ASCII ou caractere reservado.

De um objeto plano a uma query string codificada

Uma query string de URL é uma sequência de campos nome-igual-valor unidos por ampersands, opcionalmente precedida de um ponto de interrogação após o caminho. Esta capacidade percorre as chaves próprias do objeto na ordem de inserção, converte cada valor escalar em uma string estável (booleanos viram true ou false, números finitos usam notação decimal comum, null vira valor vazio) e aplica encodeURIComponent a cada chave e cada valor para que espaços virem percent-twenty, ampersands percent-twenty-six e Unicode sobreviva ao trânsito.

O resultado é uma query string sem inventar separadores extras a partir de caracteres especiais brutos. Objetos e arrays aninhados não são suportados de propósito: um parâmetro de consulta é um par chave-valor plano, e serializar estrutura aninhada em uma única string opaca esconderia erros que o chamador costuma querer corrigir antes de a requisição sair do cliente. Objetos vazios produzem query string vazia e a forma só com o prefixo de interrogação, útil em testes que afirmam ausência de parâmetros em vez de inventar uma chave fictícia.

Limites de comprimento no número de chaves e no tamanho total serializado impedem que mapas patológicos esgotem a memória no caminho gratuito do navegador.

Onde vale a pena converter valores em parâmetros

Aplicações de front-end que guardam chips de filtro e paginação como um objeto simples precisam de um único codificador antes de escrever location.search para que texto com aparência multi-valor nunca se parta em um ampersand bruto. Serviços de backend que registram requisições de saída ou montam URLs assinadas a partir de mapas de configuração precisam das mesmas regras de codificação percent do navegador para que tickets de suporte e logs de acesso batam com o que o cliente realmente enviou. Validação falha não consome saldo.

Mantenha os mapas planos e dentro dos limites documentados, fixe a query codificada nos testes e você obtém strings de parâmetros reproduzíveis para painéis, plugins LMS e workers de borda sem montar um kit completo de URL por conta própria.

Montar location.search a partir do estado do app

Transforme um objeto plano de filtros ou formulário em uma query string codificada em percent antes de escrever a barra de endereço ou a entrada de histórico do navegador.

Quais tipos de valor são permitidos?

Strings, números finitos, booleanos e null. Null vira um valor vazio após o sinal de igual.

Chaves e valores são codificados em percent?

Sim. Chaves e valores são codificados com encodeURIComponent para que espaços, ampersands, sinais de igual e caracteres não ASCII não inventem parâmetros extras.

O que acontece com um espaço ou um e comercial dentro de um valor?

Ele é codificado para não partir o endereço no lugar errado. Um espaço vira %20, como em Ada%20Lovelace, e o e comercial, letras acentuadas e outros caracteres reservados são codificados do mesmo jeito, igual ao que o navegador envia.

Posso converter dados aninhados ou listas?

Não. Só é aceito um conjunto plano de nomes e valores. Uma seção aninhada ou uma lista é recusada com um aviso claro, e assim você nunca fica com um endereço que parece válido, mas carrega dados pela metade.

O que acontece com um valor vazio?

Um valor vazio vira um parâmetro com o nome e nada depois do sinal de igual, então o nome continua sendo enviado. Um conjunto vazio dá um resultado vazio, útil quando você precisa mostrar que nenhum parâmetro vai junto.

Os parâmetros ficam na minha ordem?

Sim. Eles saem na ordem em que os nomes aparecem nos seus dados. No exemplo, name, city, active e score mantêm essa ordem, e o resultado ainda informa quantos parâmetros existem.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/data/json-to-query-params

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/data/json-to-query-params \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"object":{"name":"Ada Lovelace","city":"London","active":true,"score":42}}'
{
  "object": {
    "name": "Ada Lovelace",
    "city": "London",
    "active": true,
    "score": 42
  }
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.json_to_query_params",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb25
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

APIs, roteadores de front-end e pipelines de analítica costumam guardar filtros e campos de formulário como um mapa JSON simples e ainda precisam de uma query string corretamente codificada para a barra de endereço ou um cliente HTTP de saída. Esta capacidade aceita um objeto JSON plano, converte cada valor escalar em texto, aplica codificação percent a cada chave e valor e devolve a query string pronta para anexar, junto com pares ordenados e um mapa de strings normalizado. Objetos e arrays aninhados são rejeitados com invalid_input para que o chamador nunca emita lixo semi-estruturado que pareça uma URL válida.

De um objeto plano a uma query string codificada

Quando a sua fonte de verdade já é um objeto JSON —por exemplo um estado de filtros, um modelo de formulário ou um mapa de configuração— você precisa de um modo determinístico de transformar esse mapa no formato de fio que navegadores e servidores esperam. Como o caminho é só trabalho de strings e objetos, sem rede, sem sementes aleatórias e sem relógio de parede, entradas idênticas sempre produzem JSON idêntico. O preço de API em sucesso é a base publicada de US$ 0,002 por item, e falhas de validação não consomem saldo pré-pago.

Contrato de entrada, formato da resposta e erros

O valor deve ser um objeto plano cujas propriedades sejam strings, números, booleanos ou null. Números não finitos (NaN e Infinity) são rejeitados porque não têm forma portátil padrão em query strings. Exemplo: name Ada Lovelace, city London, active true e score quarenta e dois produzem uma string de quatro parâmetros com espaços e caracteres reservados codificados em percent. Envie por POST um corpo JSON com o campo obrigatório object (aliases json, data, params, map, fields). Você também pode passar object como texto JSON que faça parse para esse mapa. Arrays no nível superior, null, escalares e qualquer valor objeto ou array aninhado falham com invalid_input e uma mensagem clara em inglês nomeando a chave ruim quando for o caso. Em caso de sucesso a resposta inclui query (a string codificada sem interrogação inicial), query_with_prefix (a mesma com interrogação inicial, ou só a interrogação quando não há chaves), count (o número de parâmetros), pairs (um array ordenado de strings key e value após a coerção escalar e antes da codificação) e object (um mapa de strings last-wins desses valores coercidos). Falha clássica: enviar filtros aninhados sob uma chave como filter igual a um objeto e receber invalid_input em vez de uma URL quebrada em silêncio. O preço de API em sucesso é a base publicada de US$ 0,002 por item; falhas de validação não são faturadas.

Onde a conversão JSON para query vale a pena

Autores de currículo de fundamentos web querem uma landing dedicada à serialização objeto-para-query em vez de enterrar o tema sob um parser bidirecional, porque a intenção de busca difere: quem tem um mapa JSON quer codificação, não opções de modo parse. Como a implementação é parse puro de nível A, cada chamada bem-sucedida custa o preço base publicado US$ 0,002 sem tokens de modelo e sem rede de saída.

Preparar parâmetros de query HTTP de saída

Serialize mapas de configuração e de requisição em um fragmento de query seguro para clientes, webhooks e construtores de URL assinadas.

Fixtures dourados para testes de codificação

Gere query strings estáveis a partir de fixtures JSON no CI para que espaços, ampersands e Unicode codifiquem do mesmo jeito em cada execução.

Como converto um objeto JSON em uma query string de URL?

Envie um objeto plano no campo object (ou aliases json, data, params). O campo query da resposta são os pares key=value codificados em percent unidos por &; query_with_prefix adiciona um ? inicial.

E se o meu objeto for aninhado?

A capacidade exige um objeto plano. Estrutura aninhada falha com invalid_input para que você possa achatar ou redesenhar o mapa antes de codificar em vez de enviar uma URL ambígua.

Quanto custa converter objeto JSON em query string?

A ferramenta do navegador é gratuita. Requisições API usam saldo KIT pré-pago a US$ 0,002 por chamada bem-sucedida; entrada inválida não é cobrada.

Ver a documentação completa do KIT →