Converter JSON em XML
Entregue dados a um sistema que só lê XML: no exemplo, um pedido com id A-1 e total 85.00 mais a cliente Ada vira um documento dentro de um elemento factura, cada valor na sua própria tag. Caracteres especiais são escapados. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Cole, converta, confira e baixe.
Por que sistemas antigos ainda pedem XML
Por trás de muitos serviços modernos existe um sistema mais antigo que só aceita XML: um sistema de faturamento, um portal do governo ou uma integração contábil que ninguém quer refazer. Muitas interfaces criadas na época da troca de mensagens entre empresas funcionam assim até hoje. Escrever a conversão à mão é onde os erros entram: um único e comercial sem escape ou uma tag de fechamento faltando deixam o documento inteiro ilegível para um receptor rigoroso. Esta ferramenta escreve sempre XML bem formado a partir dos seus dados, para você entregar direto ao sistema que está esperando.
Como cada parte dos dados vira XML
Você dá nome ao elemento externo, factura no exemplo. Dentro dele, cada nome dos seus dados vira um elemento com o seu valor, seções aninhadas viram elementos aninhados, cada item de uma lista repete o nome e um valor vazio vira um elemento vazio. Caracteres especiais são escapados, e o documento começa com uma declaração de versão 1.0 em UTF-8, recuado com dois espaços por nível. No exemplo, pedido contém id A-1 e total 85.00, seguido de cliente com Ada. Cada entrada vira elemento, e não atributo, então compare o resultado com a especificação de quem vai receber.
Como os dados viram estrutura XML
Caracteres que quebrariam o XML — como <, > e & dentro de textos — são escapados automaticamente, e a acentuação do português sai correta na codificação declarada. O resultado aparece na tela antes do download, para você conferir se o esquema bate com o que o sistema de destino espera.
Perguntas frequentes
É grátis? Até quando?
O uso no navegador é grátis e sem limite — não é período de teste.
Meus dados ficam salvos em algum servidor?
No modo do navegador, não: a conversão acontece na sua máquina e nada é enviado para fora da página.
Como escolho o nome do elemento externo?
Informe o nome que você quer para a raiz, como factura no exemplo, e o documento inteiro fica dentro dele. Se você deixar em branco, o elemento externo se chama simplesmente root.
Como as listas viram XML?
Cada item de uma lista vira um elemento próprio que repete o nome da lista, um depois do outro. É o jeito habitual de o XML expressar uma série de valores, e é o formato que a maioria dos sistemas que recebem espera.
Caracteres especiais como & são tratados direito?
Sim. Os caracteres que têm significado especial no XML, como o e comercial ou os sinais de menor e maior, são escapados dentro dos valores, então o documento continua bem formado e um sistema rigoroso não o recusa.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/data/json-to-xml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"json":{"a":1}}'const res = await fetch("https://api.kit.forhosting.com/data/json-to-xml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"json": {
"a": 1
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/json-to-xml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"json": {
"a": 1
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/json-to-xml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"json":{"a":1}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"json":{"a":1}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/json-to-xml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"json": {
"a": 1
}
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.json_to_xml",
"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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Este conversor transforma JSON em XML válido, direto no navegador, grátis e sem cadastro. É a ferramenta para quando o seu dado nasce em JSON, mas o destino — um ERP, um órgão público, um sistema legado — só aceita XML.
Sistemas antigos não morrem: eles pedem XML
Bancos, ERPs, integrações governamentais e softwares corporativos com décadas de estrada continuam falando XML — enquanto tudo o que é novo exporta JSON. Quem integra os dois mundos acaba precisando converter na direção "impopular": de JSON para XML, para a qual existem bem menos ferramentas decentes. Esta faz exatamente isso, gerando um documento bem formado, com a hierarquia do JSON preservada em tags aninhadas e pronto para o sistema de destino consumir.
Como o JSON vira estrutura XML
Cada campo do JSON vira uma tag; objetos aninhados viram tags dentro de tags; listas viram elementos repetidos.
Grátis no navegador; automático via API
Na página, o uso é grátis, ilimitado e sem cadastro — e o arquivo não sai do seu navegador, o que resolve a conversa sobre dados sensíveis antes mesmo de ela começar. Quando a conversão precisa acontecer dentro de um fluxo — todo pedido novo virando XML para o ERP, por exemplo —, a mesma capacidade roda via API por US$ 0,002 por chamada, aceitando documentos de até 25 MB.
Casos de integração
Integrar a loja virtual ao ERP da distribuidora
A loja online manda pedidos em JSON; o ERP da Distribuidora Horizonte Verde S.A. só importa XML. A conversão no meio do caminho deixa os dois sistemas conversando sem ninguém redigitar pedido.
Gerar o arquivo que o órgão público exige
Um sistema interno guarda os dados em JSON, mas o envio ao portal governamental exige XML num leiaute específico. O dev converte a base e ajusta os nomes de campo para o esquema exigido, testando o resultado antes do envio oficial.
Testar como um sistema legado reage
Antes de fechar uma integração, Carlos Eduardo Souza gera amostras de XML a partir do JSON real e alimenta o ambiente de testes do cliente — encontrando de graça os problemas que apareceriam em produção.
Perguntas técnicas
O XML gerado vai ser aceito pelo meu sistema?
O documento sai bem formado e com a estrutura espelhando o seu JSON. Se o sistema de destino exige um esquema específico (nomes de tags, atributos, ordem), ajuste os nomes de campo no JSON de origem para que a saída bata com o esperado.
Como ficam as listas do JSON no XML?
Viram elementos repetidos com o mesmo nome — o padrão que a maioria dos sistemas que consomem XML espera para coleções de itens.
Preciso me cadastrar?
Não. Nem para usar a página, nem para comprar uso de API: por enquanto não existe cadastro — a compra é direta.
Qual o tamanho máximo do documento?
25 MB por conversão, tanto na página quanto na API.