OpenReplay Logo
12k
12k

Conversor XML ⇄ JSON

Converta XML em JSON e vice-versa — processado localmente no seu navegador, com atributos, elementos repetidos, CDATA e conteúdo misto tratados para você.

Processado localmente

Sobre esta ferramenta

XML e JSON são os dois formatos de texto dominantes para dados estruturados, mas correspondem a estruturas diferentes: o XML carrega elementos, atributos, texto misto e CDATA, enquanto o JSON tem objetos, arrays e primitivas tipadas. Este conversor analisa o XML com seu próprio tokenizador (sem DOMParser) e aplica um mapeamento previsível — atributos viram chaves "@name", elementos compostos apenas por texto viram valores de texto, elementos irmãos repetidos são agrupados em arrays, e um elemento que carrega tanto atributos ou filhos quanto texto mantém esse texto sob uma chave "#text". CDATA é lido como texto; comentários e a declaração XML são descartados. O sentido JSON → XML aplica as mesmas regras de forma inversa, escapando texto e valores de atributo e indentando com dois espaços.

Use-o para alimentar um payload SOAP ou RSS legado em uma API que só aceita JSON, para inspecionar uma configuração XML densa como uma árvore de objetos navegável, ou para fazer um ciclo de ida e volta em um documento e confirmar que sua estrutura é preservada. A opção "Tipar valores automaticamente" transforma correspondências de string completa como "42", "true" e "null" em números, booleanos e null reais do JSON, para que o código a jusante não precise reanalisar strings — desative-a quando precisar que cada folha permaneça uma string. No modo JSON → XML, defina o nome do elemento raiz usado quando o JSON não for um objeto de chave única.

Ambas as conversões são executadas inteiramente no seu navegador — nenhum XML ou JSON é jamais enviado a um servidor.

Perguntas frequentes

Como os atributos XML são representados na saída JSON?

Cada atributo vira uma chave prefixada com "@" no objeto do elemento — por exemplo, <book id="42"> vira {"book": {"@id": 42}}. Reconverter o JSON em XML transforma qualquer chave prefixada com "@" de volta em um atributo.

O que acontece com elementos XML repetidos e conteúdo de texto misto?

Elementos irmãos que compartilham um nome de tag são agrupados em um array JSON. Quando um elemento tem atributos ou elementos filhos além de seu próprio texto, esse texto é armazenado sob uma chave "#text" para que nada se perca.

O conversor lida com CDATA, comentários e a declaração XML?

As seções CDATA são lidas como texto puro e mescladas ao valor do elemento. Comentários e a declaração <?xml ... ?> são descartados, já que nenhum dos dois carrega dados que se mapeiem de forma limpa para o JSON.