Conversor de JSON para XML
Converte JSON em XML e XML em JSON no teu navegador, com atributos, elementos repetidos e CDATA tratados. Nada é enviado para um servidor.
Como usar o conversor de JSON para XML
- Escolhe a direção: JSON → XML ou XML → JSON.
- Cola os teus dados ou clica em Abrir um ficheiro para carregar um ficheiro
.jsonou.xml(até 10 MB). - Define as opções: Indentação (2 espaços, 4 espaços, tabulação ou Nenhuma (compacto)) nas duas direções; Elemento raiz e Acrescentar a declaração XML em JSON → XML; Converter números e booleanos em XML → JSON.
- Clica em Converter. O resultado também se atualiza enquanto escreves, e os erros indicam a linha e a coluna onde o problema foi encontrado.
- Copia ou transfere o resultado. Inverter a direção passa o resultado para a entrada, para confirmares a ida e volta.
Como o JSON corresponde ao XML
O XML e o JSON não têm o mesmo modelo de dados, por isso todos os conversores seguem uma convenção. Esta ferramenta usa a convenção muito difundida da biblioteca fast-xml-parser:
| JSON | XML |
|---|---|
{"title": "Dune"} |
<title>Dune</title> |
{"book": {"@id": "42"}} |
<book id="42"/> |
{"p": {"@lang": "pt", "#text": "Olá"}} |
<p lang="pt">Olá</p> |
{"tag": ["a", "b"]} |
<tag>a</tag><tag>b</tag> |
- As chaves que começam por
@passam a atributos, e a chave#textguarda o texto de um elemento que também tem atributos. - Uma lista passa a um elemento repetido com o mesmo nome.
- Um documento XML precisa de exatamente um elemento raiz. Se o teu JSON for um objeto com uma única chave cujo valor é um objeto, essa chave passa a ser a raiz. Caso contrário, o valor inteiro é envolvido no elemento indicado em Elemento raiz (
rootpor omissão), e os elementos de uma lista de nível superior passam a elementos<item>. - As chaves que não são nomes XML válidos são corrigidas: os espaços e os símbolos passam a
_, e um nome que comece por um algarismo recebe um_no início ("1st place"→<_1st_place>). nulle as strings vazias dão um elemento vazio como<note/>. Os caracteres especiais (&,<,>, aspas) são escapados.
Como o XML corresponde ao JSON
- Os atributos passam a chaves com o prefixo
@, e o texto misto passa a#text. - Os elementos repetidos passam a uma lista; um elemento que aparece uma só vez passa a um valor simples.
- As secções CDATA são juntadas ao texto, e as entidades como
&são descodificadas. A declaração XML, as instruções de processamento e os comentários são descartados. - Com Converter números e booleanos,
<price>12.5</price>passa a12.5etruepassa a um booleano, enquanto os valores com um zero à esquerda, como007, continuam a ser strings. Desliga a opção para manteres todos os valores como texto.
Antes da conversão, verifica-se se o XML está bem formado: uma etiqueta de fecho em falta, uma etiqueta que não corresponde ou um & por escapar são indicados com a linha e a coluna.
Perguntas frequentes
Os meus dados são enviados para um servidor?
Não. A conversão corre inteiramente no teu navegador. Os teus feeds XML, mensagens SOAP e ficheiros de configuração ficam no teu computador.
Porque é que um elemento passa a lista num ficheiro e a objeto noutro?
O XML não diz se um elemento é uma lista. Quando <tag> aparece duas vezes, passa a uma lista; quando aparece uma vez, é um valor simples. Se o teu código espera uma lista, trata os dois casos, ou acrescenta um segundo elemento nos testes.
Porque é que a ida e volta nem sempre dá um resultado idêntico?
Há informação que não tem equivalente do outro lado: os comentários, a ordem do conteúdo misto ou a diferença entre uma lista com um elemento e um valor simples. Para documentos de dados típicos, converter JSON → XML → JSON devolve a mesma estrutura.
Posso usar namespaces?
Sim. Os nomes com prefixo como soap:Envelope e os atributos como @xmlns:soap são mantidos tal como estão nas duas direções.
A ferramenta valida com um schema XSD?
Não. Verifica se o XML está bem formado, mas não o valida com uma DTD nem com um schema XSD.
Ferramentas relacionadas
- Formatador e validador de JSON Formatador e validador de JSON gratuito que formata, minifica e verifica JSON no teu navegador, com os erros de sintaxe indicados por linha e coluna.
- Conversor de JSON para YAML Converte JSON em YAML e YAML em JSON no teu navegador, com suporte de âncoras, merge keys e ficheiros com vários documentos. Nada é enviado.
- Conversor de JSON para CSV Converte JSON em CSV e CSV em JSON no teu navegador. As chaves aninhadas passam a colunas, o separador é detetado e nada é enviado para um servidor.