Ferramentas JSON

JSON para XMLdefina o formato que a integração espera

O exemplo inclui atributo, texto, array vazio e null. Confira cada caso antes de exportar.

JSON para XML

XML para JSON

Entrada JSON

Processamento neste navegador. A entrada não é enviada nem armazenada.

Resultado XML

Opções de saída

Prévia dos tipos

Resultado desatualizado; exportação desativada.

JSON para XML ajuda a levar dados de uma API para sistemas que recebem documentos. A escolha de nomes, atributos e namespaces depende do contrato de quem recebe, não apenas dos valores na entrada.

Aqui a raiz escolhida sempre envolve a entrada inteira, inclusive um valor isolado. As convenções ficam visíveis para comparar o resultado com o formato exigido pela integração.

Por que conferir JSON para XML aqui?

Não apagar arrays vazios

JSON para XML mantém um contêiner com o nome do array e cria um elemento item para cada entrada. Um array vazio continua presente como contêiner vazio. Arrays aninhados mantêm seus níveis mesmo quando o nome dos itens muda.

Um array vira contêiner com dois filhos, enquanto um contêiner vazio permanece ao lado.

Distinguir atributo de conteúdo

@id vira atributo e #text fornece o texto do elemento. Os dois podem coexistir. Texto junto com elementos filhos é rejeitado, pois um objeto comum não descreve a ordem arbitrária de conteúdo misto.

Um valor do objeto segue para um atributo e outro para o texto entre as tags.

Escolhas que merecem atenção

01

A raiz sempre acrescenta um nível

Um objeto com uma única chave não é promovido automaticamente à raiz. Essa chave fica abaixo do nome escolhido. O nome dos itens vale em todos os níveis de arrays, então compare a estrutura com o receptor.

02

Revise os campos de controle

O padrão usa @ nos atributos e #text no texto, mas ambos podem ser alterados. Ao desligar o mapeamento, todas as chaves viram candidatas a nomes de elementos; as marcas restantes podem gerar erro.

03

Use o modo manual para vários ajustes

A conversão automática espera 350 milissegundos. Desligue para executar pelo botão ou Ctrl/Cmd+Enter. Qualquer edição bloqueia a exportação imediatamente. A prévia mostra 50 nós por vez, até os 500 primeiros.

Regras explícitas para montar o documento

Raiz e namespace

Raiz e itens exigem nomes locais válidos em XML 1.0. O URI do namespace padrão é declarado na raiz e aplicado aos elementos. Atributos sem prefixo não recebem esse namespace.

Uma política clara para null

O padrão gera xsi:nil="true" e declara xsi automaticamente. A opção de rejeição para no primeiro null. Strings, objetos e arrays vazios geram elementos vazios presentes, sem excluir o campo.

Texto numérico sem arredondamento prévio

9007199254740993, -0 e 1e999 mantêm os tokens de entrada, sem passar por números de ponto flutuante. Caracteres especiais são escapados; tabs e quebras em atributos usam referências para sobreviver à normalização XML.

Conferência após gerar

Um parser independente verifica XML 1.0 e namespaces, e compara nomes, atributos e texto com a árvore esperada. Escolha dois espaços, quatro ou saída compacta, com declaração UTF-8 opcional.

Limites que a sintaxe não resolve

Os tipos não são todos reversíveis
Números e booleanos viram texto sem anotação JSON. Array, objeto e string vazios podem produzir o mesmo elemento. Preservar os nós não garante voltar ao JSON original sem ambiguidade.
Nenhum conserto silencioso
Chaves vazias, espaços ou dígitos no início geram erro com JSON Pointer. Não há substituição por sublinhados, ordenação, comentários ou descarte de chaves duplicadas para ficar só com a última.
Atributos e texto só aceitam escalares
São aceitos strings, números e booleanos que não sejam null. Objetos e arrays nesses campos são rejeitados. Um campo de texto, mesmo vazio, não pode aparecer junto de elementos filhos.
Namespaces com escopo definido
Há apenas namespace padrão e @xml:lang. Outros nomes com dois-pontos, xml:space, declarações xmlns e sobrescritas xsi são rejeitados. URIs reservados XML/XMLNS e validação XSD, DTD ou de contrato SOAP não são suportados.
Uma conversão de texto com teto
Limites: 500.000 caracteres de entrada, profundidade 100, 50.000 nós e 2.000.000 caracteres de saída. Controles XML proibidos e substitutos isolados geram erro. Não há importação de arquivo, URL, lote, CDATA nem sentido inverso nesta página.

Dúvidas sobre JSON para XML

A conversão é reversível?

Não de forma universal. O XML comum não distingue sozinho um número de uma string numérica, nem todos os casos de coleções vazias. Este conversor de JSON para XML preserva valores escritos e nós, mas não acrescenta um esquema de tipos reversível.

Posso converter JSON com arrays?

Sim. O array mantém seu contêiner e cada entrada vira um elemento com o nome escolhido. Arrays vazios permanecem e arrays aninhados mantêm os níveis. Ao converter JSON para XML, confirme se o receptor aceita esse contêiner adicional.

A ferramenta valida o JSON antes?

Sim. Sintaxe inválida e chaves duplicadas interrompem a conversão antes da saída. Depois, o conversor JSON XML verifica também o documento produzido. Um sucesso indica estrutura XML válida, não aprovação do contrato de negócio.

Como os caracteres especiais são tratados?

Os caracteres de marcação são escapados. Tabs e quebras de linha nos atributos usam referências de caracteres, e o retorno de carro no texto também é protegido. Caracteres que XML 1.0 proíbe são erros, nunca removidos silenciosamente.

Quando preciso converter JSON para XML?

É comum em integrações legadas ou serviços que recebem documentos XML a partir de dados de uma API. Defina primeiro a raiz, os nomes e o namespace. Converter a sintaxe não cria automaticamente um envelope SOAP nem adapta o conteúdo a um XSD.

Seu documento revelou um caso especial de mapeamento?

Prepare o próximo documento

Use JSON para XML para revisar o exemplo e depois definir a raiz e o namespace esperados na integração.