onlinetools.dev

Conversor XML ↔ JSON

Converta documentos XML em JSON e de volta, atributos incluídos

Roda localmente
loading…
Sobre esta ferramenta

Converta XML em JSON para alimentar respostas SOAP legadas, feeds RSS ou POMs do Maven em JavaScript, jq ou uma API nativa de JSON — ou vá na direção contrária e produza XML a partir de dados JSON. Atributos são mantidos: viram chaves "@_name", e o texto que coexiste com atributos cai em "#text", então nenhuma informação desaparece em silêncio.

Os dois formatos discordam em pontos fundamentais, e este conversor faz as escolhas pragmáticas padrão: elementos irmãos repetidos colapsam em um array JSON, valores de aparência numérica viram números e namespaces viajam como parte do nome do elemento. A viagem de ida e volta XML → JSON → XML preserva estrutura e conteúdo para documentos típicos.

As duas direções rodam localmente no seu navegador. Cole um feed de faturas ou uma resposta de API sem que eles vão a lugar nenhum.

Perguntas frequentes

Por que alguns valores voltam como números em vez de strings?
O parser reconhece texto numérico e o converte, que é o que a maioria dos consumidores quer. Cuidado com identificadores com zeros à esquerda (códigos de produto, telefones) — se isso importa para os seus dados, coloque aspas depois da conversão ou trate a saída como ponto de partida.
Como elementos repetidos são tratados?
Dois ou mais irmãos com o mesmo nome viram um array JSON sob aquela chave. Uma ocorrência única continua um objeto simples — essa assimetria é inerente ao mapeamento, então o código que consome o JSON deve tolerar as duas formas ou normalizar antes.
O que significam as chaves @_ e #text?
@_ marca o que era um atributo XML; #text carrega o texto do elemento quando atributos também estão presentes. Alimentar a mesma convenção de volta na direção JSON → XML reconstrói a marcação original.
Por que JSON → XML rejeita meu array de nível superior?
Um documento XML precisa ter exatamente um elemento raiz, e um array solto não tem nenhum. Embrulhe o array em um objeto — {"items": {"item": [...]}} — e o conversor produz um documento bem formado.
Ferramentas relacionadas