Converter XML em JSON Extensible Markup Language ↔ JavaScript Object Notation Grátis Online Seguro
Solte um arquivo XML e leve JSON. É lido e escrito aqui, no seu navegador, por isso o arquivo não sai do seu aparelho — e o que a conversão mantém, e o que não consegue, está escrito mais abaixo em vez de ficar para descobrir.
Converta o seu arquivo
Solte aqui um arquivo XML, ou escolha um.
O seu arquivo não sai deste dispositivo. Tudo roda no seu navegador.
Nada é enviado
Converter a partir de XML
Converter para XML
De onde vêm estes formatos
O CSV é o mais antigo e o menos normalizado: uma tabela escrita em linhas de texto, em uso desde os anos setenta e só descrito por escrito em 2005, quando cada programa já decidira por si qual era o delimitador e quando pôr aspas. O XML saiu do SGML em 1998, para documentos que têm de levar estrutura estrita e ser verificados contra um esquema. O JSON foi retirado do JavaScript por Douglas Crockford por volta de 2001, reduzido de propósito a objetos, listas, números e cadeias — e esse despojamento é a razão de ter conquistado a web. O YAML é o seu primo legível, onde a indentação faz o trabalho que em outros lugares cabe às chavetas. Ao converter entre eles só importa uma coisa: o CSV é plano, uma grelha de linhas e colunas, ao passo que JSON, XML e YAML são árvores.
Onde os encontra
O CSV é o que uma planilha exporta e o que lhe entregam um contabilista, uma plataforma de loja ou um extrato bancário. O JSON é o que os serviços web falam e aquilo em que cada vez mais se escrevem os arquivos de configuração. O XML sobrevive em sistemas empresariais antigos, nas normas de faturação e dentro dos próprios formatos de escritório. O YAML é onde as pessoas escrevem definições à mão. Converter entre eles é o trabalho diário de levar os dados de onde foram produzidos para onde são precisos.
Perguntas frequentes
O meu CSV abriu como uma única coluna no Excel. Porquê?
Porque a sua planilha esperava outro aba. O Excel segue o aba de listas das definições regionais, que é o ponto e vírgula em toda a parte onde a vírgula já é o sinal decimal — ou seja, em boa parte da Europa continental. Um arquivo separado por vírgulas aparece então como uma só coluna de texto. Use a caixa de importação e indique o aba, em vez de abrir o arquivo com duplo clique. A mesma definição regional explica que 3.5 chegue por vezes transformado em data.
Por que o meu JSON aninhado não dá uma planilha arrumada?
Porque uma planilha é plana e o JSON é uma árvore. Uma linha leva um valor por coluna; um objeto JSON pode conter uma lista dentro de um campo dentro de outra lista. Converter é escolher como achatar isso: ou juntar os nomes aninhados num cabeçalho de coluna comprido, ou repetir a linha-mãe uma vez por cada filha. Ambas são cedências, e nenhuma se desfaz automaticamente — por isso voltar da planilha à forma original costuma exigir uma decisão humana.
O arquivo perde qualidade?
Depende do que os dois formatos conseguem guardar. Converter entre formatos que armazenam a mesma coisa — um PNG para BMP, um WAV para FLAC — não perde nada. Converter para um formato que descarta informação para poupar espaço, como JPEG ou MP3, perde um pouco de cada vez, e voltar atrás não a traz de volta. Onde existe escolha, esta página tende a conservar a qualidade original em vez de fazer o arquivo menor.
O meu arquivo é enviado para algum lado?
Não. A conversão acontece dentro do seu navegador, na sua própria máquina; o arquivo nunca sai dela e aqui não existe servidor nenhum que o pudesse receber. É por isso que um arquivo grande é limitado pela sua memória e não por um envio, e que nada do que converter pode aparecer nos registros de quem quer que seja — incluindo os nossos. As ferramentas de áudio e de vídeo buscam, porém, o seu motor de conversão neste site da primeira vez que as usar — uns trinta megabytes, uma só vez; depois o trabalho continua a acontecer inteiramente na sua máquina.
Por que as pessoas convertem XML em JSON
O XML é o decano dos dados estruturados. Há mais de vinte anos ele carrega arquivos de configuração, feeds de produtos, faturas, sitemaps, feeds de notícias, exportações de programas de contabilidade e as respostas de serviços web mais antigos. É preciso e prolixo, escrito em tags que abrem e fecham. O JSON é o seu rival mais jovem: mais leve, mais fácil de ler e a língua natural do código web moderno, em que um programa pode usá-lo quase sem preparação. Quando um feed ou uma exportação chega em XML e o que vai usá-lo fala JSON, é preciso uma conversão. Por isso as pessoas convertem XML em JSON: têm dados na forma mais antiga, e as ferramentas novas querem a mais nova.
As situações são comuns. Um desenvolvedor que precisa ler a resposta de um serviço mais antigo num script moderno. Um lojista que tem um feed de produtos em XML e uma plataforma que importa JSON. Um analista de dados que quer olhar uma exportação grande numa ferramenta que lida com JSON. Um estudante que precisa entender um arquivo cheio de colchetes angulares. Em todos os casos a informação está lá, e o que falta é apenas uma forma mais conveniente.
Esta página converte XML em JSON no seu navegador. Seu arquivo é lido e escrito aqui, então nunca sai do seu dispositivo, o que importa para faturas, dados de clientes e qualquer outra coisa privada. E a página diz de antemão o que a travessia mantém e o que ela não pode manter, em vez de deixar você descobrir sozinho. O XML guarda uma ideia para a qual o JSON não tem palavra, e entendê-la vai lhe poupar surpresas. Abaixo você encontra como a conversão funciona e o que esperar.
Como a conversão funciona
Elementos viram chaves, aninhamento vira aninhamento
Seu XML é lido dentro do seu navegador. Os nomes dos elementos viram chaves, e elementos dentro de elementos viram objetos dentro de objetos, então o aninhamento do XML é o aninhamento do JSON. A estrutura que você vê nas tags é a estrutura que você recebe entre chaves.
Os atributos mantêm o nome, com um @
Os elementos XML podem carregar atributos, pequenos pedaços de dado escritos dentro da tag de abertura. O JSON não tem atributos, então cada um é mantido como uma chave própria, com um @ na frente do nome. Um elemento como um livro com um atributo id dará uma chave @id ao lado das chaves dos seus filhos. O @ deixa claro quais chaves vieram de atributos e quais de elementos.
Texto ao lado de elementos filhos
O texto que divide um elemento com elementos filhos é mantido sob #text, porque não há outro lugar onde pô-lo. Isso é raro em arquivos de dados e comum em documentos que misturam prosa com marcação. A chave #text guarda o texto, e as outras chaves guardam os filhos.
O que é mantido
Nomes de elementos, aninhamento, atributos e texto
Os nomes dos elementos, seu aninhamento, seus atributos e seu texto são todos mantidos. A informação dos dados está no JSON, numa forma pela qual os programas podem andar.
A ordem do que aparece uma vez
Os elementos mantêm a ordem em que foram escritos quando são diferentes, então um registro que lista um título, um autor e uma data os mostra nessa ordem.
O texto exatamente
O texto de cada elemento é mantido como foi escrito, incluindo os espaços dentro dele e letras acentuadas, símbolos e caracteres de outros alfabetos.
O que você deve saber antes de converter XML em JSON
Nomes repetidos viram um array
O XML guarda uma ideia para a qual o JSON não tem palavra: os elementos são ordenados e podem se repetir. Um nome que aparece uma vez vira um valor, e um nome que aparece duas vezes vira um array. Assim, uma lista com três elementos item vira um array de três, mas uma lista com um único item vira apenas um valor, e não um array de um. Isso significa que ler o resultado de volta nem sempre devolve o mesmo XML. Um programa que lê o JSON deve estar pronto para as duas formas onde uma lista pode ser curta.
Comentários, instruções de processamento e a declaração são descartados
Comentários, instruções de processamento e a declaração XML não fazem parte dos dados e não passam. A nota que um desenvolvedor deixou num comentário, a linha no topo que indica a versão e a codificação, e instruções destinadas a um programa específico desaparecem. Os dados em si permanecem.
Tudo é texto
O XML não tem tipos: todo valor entre as tags é texto. Os números, as datas e os indicadores do seu XML chegam como o texto que foi escrito. O programa que lê o JSON deve interpretá-los conforme as próprias necessidades.
Como converter XML em JSON aqui
Adicione o seu arquivo
Solte o arquivo XML na página ou escolha-o no seu dispositivo. Ele é lido dentro do seu navegador e não é enviado.
Converta
Aperte o botão. Um arquivo de tamanho comum leva um instante. Deixe a página aberta até terminar.
Baixe e confira
Baixe o JSON e abra-o num editor de texto. Olhe o começo e o fim, e confira se as chaves são os nomes que você espera e se os atributos carregam o seu @.
Um olhar mais de perto sobre XML e JSON
Duas maneiras de escrever uma árvore
Tanto o XML quanto o JSON descrevem uma árvore de valores. O XML a escreve com tags que abrem e fecham, e permite atributos e conteúdo misto. O JSON a escreve com chaves e colchetes, e só conhece objetos, listas, strings, números, booleanos e nulo. Eles se sobrepõem bem para dados, como registros e configurações, e mal para documentos, como uma página da web ou um livro, em que texto e marcação se entrelaçam.
Por que a ida e volta não é garantida
Ir de XML para JSON perde um pouco: a ordem de elementos mistos repetidos, os comentários e a distinção entre um atributo e um elemento, que só se mantém pelo @. Na volta, portanto, você pode não receber exatamente o mesmo XML. Para troca de dados, isso raramente importa. Para documentos, importa, e é melhor guardar o XML como matriz.
Namespaces
Os nomes XML podem carregar um prefixo que os coloca num namespace, como o vocabulário de um padrão específico. Esses nomes são mantidos como foram escritos, prefixo incluído, então uma chave pode ser lida como dc:title. Não são resolvidos nem reescritos.
Situações comuns em detalhe
Feeds de produtos e catálogos
Fornecedores e marketplaces costumam oferecer feeds em XML. Para usá-los num script moderno ou importá-los numa plataforma que aceita JSON, converta XML em JSON e leia o resultado.
Serviços web mais antigos
Os serviços construídos na era do SOAP e das primeiras APIs respondem em XML. Um script que quer usar a resposta deles pode trabalhar com JSON, que é mais fácil de manusear.
Arquivos de configuração e de preferências
Muitos programas guardam suas configurações como XML. Converter um arquivo em JSON permite lê-lo numa ferramenta feita para JSON, comparar duas versões ou alimentar um script com ele.
Feeds, sitemaps e exportações
Feeds de notícias, sitemaps e exportações de programas de contabilidade ou de estoque são XML. Uma conversão lhe dá uma forma mais fácil de pesquisar e de carregar em código.
Conselhos práticos antes de converter XML em JSON
Confira se o XML está bem formado
Toda tag precisa fechar, e o arquivo deve ter um único elemento raiz. Se a página relatar um erro, abra o arquivo num editor que destaque problemas de XML e corrija a linha apontada.
Saiba onde as listas podem ser curtas
Se o seu XML tem listas, lembre-se de que uma lista com uma entrada vira um valor e não um array de um. Planeje o código que lê o JSON para tratar os dois casos.
Decida o que fazer com os atributos
Os atributos chegam como chaves com um @. Se o seu programa os espera sob outros nomes, renomeie-os depois da conversão ou ajuste o programa.
Arquivos grandes
Tudo roda no seu dispositivo, então um arquivo muito grande precisa de memória. Para arquivos de muitos megabytes, use um computador e divida os dados se a página tiver dificuldade.
Perguntas que as pessoas fazem antes de converter
Por que uma lista é um array e outra é um valor único?
Porque um nome que aparece uma vez vira um valor, e um nome que aparece duas vezes vira um array. Uma lista com uma entrada parece um valor único.
Para onde foram meus atributos?
São chaves com um @ na frente do nome, ao lado das chaves dos elementos filhos.
Onde está o texto que fica ao lado de outros elementos?
Sob a chave #text, porque não há outro lugar onde pô-lo.
Por que meus comentários sumiram?
Comentários, instruções de processamento e a declaração XML não fazem parte dos dados e não passam.
Meu arquivo é enviado?
Não. A conversão roda no seu navegador e o arquivo nunca sai do seu dispositivo.
Posso voltar para XML?
Sim. JSON para XML escreve uma árvore de volta como XML, embora a ida e volta não seja garantida como idêntica.
Escolhendo com sabedoria ao converter XML em JSON
JSON, YAML ou uma tabela?
O JSON serve aos programas. Para uma configuração que as pessoas editam, JSON para YAML se lê com mais conforto depois da conversão. Se o XML for na verdade uma tabela de registros uniformes, você pode seguir com JSON para CSV ou JSON para XLSX.
Guarde o XML
O XML é a matriz. Ele guarda os comentários, a declaração e a ordem exata. Guarde-o e trate o JSON como uma cópia conveniente.
Pense em quem vai consumir
Olhe o que vai ler o JSON e molde o trabalho para servi-lo. Um script que espera uma estrutura fixa é mais fácil de escrever se o XML é regular.
Obtendo um bom resultado depois da conversão
Valide o JSON num visualizador
Abra o resultado num editor que entenda JSON e recolha os objetos. Se a estrutura se parece com o que você espera, está sólida.
Compare alguns registros com a origem
Pegue alguns registros do meio e confira-os com o XML. Leva um minuto e diz que a conversão é fiel.
Minifique para publicar
Se o arquivo vai ser carregado por uma página da web e é grande, existem ferramentas que removem espaços em branco e o deixam mais leve. Os dados continuam os mesmos.
Preparando o XML para que converta bem
Mantenha a estrutura regular
Quando você converte XML em JSON, os dados regulares convertem melhor: os mesmos elementos nos mesmos lugares, com as listas sempre escritas como elementos repetidos. Arquivos irregulares produzem JSON irregular, e o programa que o lê precisa dar conta.
Evite misturar texto e elementos quando puder
O texto ao lado de elementos filhos vai para #text. Está correto, mas torna o resultado mais difícil de usar. Para dados, mantenha o texto nas folhas, e não entre os ramos.
Teste primeiro com um pedaço pequeno
Se o seu arquivo é grande, leve os primeiros registros para um arquivo de teste e converta esse. Uma olhada rápida no resultado mostra se a forma é a que você espera.
Lendo o JSON depois de converter XML em JSON
Percorra a estrutura, não a adivinhe
A forma do resultado espelha a forma do XML, então o melhor jeito de entendê-la é abrir os dois lado a lado. Ache o elemento raiz, que vira a chave de nível superior, e siga um registro até as suas folhas. Depois de converter XML em JSON, essa caminhada de dez minutos poupa horas de tentativa e erro no código.
Escreva código defensivo para listas
Como uma única entrada é um valor e várias entradas são um array, o hábito mais seguro é embrulhar o que você lê: se não é um array, ponha-o em um. Uma linha de código no início do leitor deixa o resto simples, e o seu programa deixa de quebrar no dia em que um feed contém só um produto.
Trate os atributos com cuidado
As chaves que começam com @ são atributos. Algumas ferramentas não gostam desses nomes como nomes de propriedade, então você pode preferir renomeá-los ao carregar. O significado continua o mesmo; só o rótulo muda.
Não edite o JSON como substituto da fonte
Quando os dados mudam, mude o XML na sua origem, ou peça ao sistema que produza uma nova exportação, e converta XML em JSON de novo. Editar a cópia deixa os dois fora de compasso.
Privacidade e manuseio
Por que a conversão local importa para os dados
Os arquivos XML muitas vezes guardam o que é privado: faturas, clientes, pedidos, configurações. Muitos conversores online enviam o seu arquivo a um servidor, processam e devolvem o resultado, e por algum tempo uma cópia vive numa máquina que você não controla. Aqui o seu próprio navegador faz o trabalho, então os dados ficam no seu dispositivo.
O que acontece quando você sai
Quando você fecha a página, o arquivo convertido desaparece do navegador, então baixe-o antes. Nada sobre os seus dados é guardado.
Se algo der errado
A página diz que o XML não é válido
Uma tag pode não fechar, ou pode haver dois elementos raiz, ou um caractere que o XML não permite. Abra o arquivo num editor que destaque erros de XML e corrija a linha apontada.
A estrutura não é a que eu esperava
Procure listas com uma entrada, atributos e texto misto. Eles explicam a maioria das surpresas.
A página trava com um arquivo grande
Tudo roda no seu dispositivo, e um arquivo grande precisa de memória. Tente de novo num computador, ou divida os dados.
Ferramentas relacionadas
A mesma família de ferramentas cobre as tarefas vizinhas. Para voltar, use JSON para XML. Para arquivos de configuração, JSON para YAML e YAML para JSON convertem entre esses dois. Para tabelas, há JSON para CSV, CSV para JSON, JSON para XLSX e XLSX para JSON.
Um exemplo prático
Digamos que um fornecedor lhe envia um feed de produtos como um arquivo XML com 800 produtos, cada um com um atributo id, um nome, um preço e uma lista de categorias. Você solta o arquivo aqui e aperta o botão. Um instante depois baixa um JSON com um array de 800 produtos. O id de cada um é uma chave @id, o nome e o preço são chaves próprias, e as categorias formam um array. Nos poucos produtos com uma única categoria, o valor é uma string simples, e o seu script de importação trata os dois casos. O XML fica na sua pasta como o original do fornecedor.
Uma lista de conferência curta
Antes de converter
Confira se o XML está bem formado. Anote onde as listas podem ser curtas. Guarde o XML.
Durante a conversão
Fique na página até o arquivo ficar pronto.
Depois de converter
Abra o JSON, confira as chaves, os atributos e as listas, e teste-o com o programa que vai lê-lo.
Erros comuns
Supor que toda lista é um array
Uma lista com uma entrada vira um valor. Escreva o código de leitura para aceitar os dois.
Esperar uma ida e volta perfeita
Não conte com ir de XML para JSON e voltar para dar o mesmo XML. Guarde o original.
Esquecer que todos os valores são texto
O XML não tem tipos. Converta números e datas no programa que os usa.
Seus dados ficam no seu dispositivo
A conversão acontece localmente. Seu arquivo é lido pelo seu próprio navegador, reescrito ali e devolvido como JSON. Nada é enviado, então nenhuma cópia fica num servidor e ninguém mais pode lê-lo. Para dados de conteúdo privado, essa é a maneira segura de converter XML em JSON.
Resumo
Para converter XML em JSON aqui, solte o arquivo e aperte o botão. Ele é lido e escrito no seu navegador, então o arquivo nunca sai do seu dispositivo. Os nomes dos elementos, seu aninhamento, seus atributos e seu texto são mantidos. Um atributo mantém o nome com um @ na frente, e o texto que divide um elemento com elementos filhos é mantido sob #text, porque não há outro lugar onde pô-lo. O XML guarda uma ideia para a qual o JSON não tem palavra: os elementos são ordenados e podem se repetir. Um nome que aparece uma vez vira um valor e um nome que aparece duas vezes vira um array, então ler o resultado de volta nem sempre devolve o mesmo XML. Comentários, instruções de processamento e a declaração XML não fazem parte dos dados e não passam.