Extensible Markup Language (XML) e JavaScript Object Notation (JSON) são dois formatos de dados famosos para o armazenamento de dados. Tanto o JSON quanto o XML nos permitem armazenar os dados de forma que sejam legíveis por humanos e também por máquinas. Para começar, JSON é um tipo de estrutura de dados usado principalmente para trocar dados entre servidores e aplicativos de software. Ele armazena os dados como pares de valores-chave. JSON cria um objeto de dados onde os pares de valores-chave são separados com base nos dois pontos (:) e um par de valores-chave completo separado por outros com base na vírgula.
Além disso, XML é uma linguagem de marcação de tipo HTML que também é usada para armazenar os dados. Porém, o XML não fornece nenhum tipo de tags predefinidas. Podemos criar nossas próprias tags e armazenar os dados. Como discutimos, JSON e XML são usados para trocar dados entre os servidores e aplicativos de software. No entanto, os dois formatos de dados diferem um pouco. O JSON é um formato de armazenamento de dados de tipo de objeto, enquanto XML não tem tipo. Os arquivos XML armazenam apenas os dados em formato de string e mais pesados do que o arquivo JSON. Considerando que os arquivos JSON podem armazenar a string, matrizes, números, números de ponto flutuante e booleano.
Este artigo explica a conversão de XML em JSON usando Python. O módulo Python xmltodict é usado para converter o formato XML para JSON.
A instalação do módulo xmltodict
Antes de começar a converter XML em JSON, precisamos instalar o módulo xmltodict. O módulo xmltodict pode ser instalado usando o pacote de índice python (pip) e pode ser instalado no Python 2 e 3. No caso do pip2, execute o seguinte comando para instalar o módulo xmltodict:
pip install xmltodictSe você estiver usando pip3, execute o seguinte comando para instalar o módulo xmltodict:
pip3 install xmltodict
No caso do sistema baseado em Debian, execute o seguinte comando para instalar o módulo xmltodict:
sudo apt install python-xmltodictO comando fornecido acima é adequado para Python2. No caso da versão Python3, execute o seguinte comando:
sudo apt install python3-xmltodict
Conversão de XML para JSON
Agora vamos converter os dados XML para o formato JSON. Usaremos o módulo xmltodict e JSON para esta conversão. O json é um módulo Python embutido. Portanto, a necessidade de instalá-los é eliminada. O xmltodict.A função parse () converte os dados XML em dicionário Python. Então, o json.A função dumps () pega o objeto de dicionário convertido como um argumento e o converte posteriormente no formato JSON. Portanto, este é um processo de duas etapas:
Primeiro, temos que converter o XML em objeto de dicionário Python usando xmltodict.função parse ().
Em segundo lugar, convertemos o objeto de dicionário Python para o formato JSON usando json.função dumps (). Em json.função dumps (), a propriedade indent é usada para adicionar espaços entre os dados.
#importing the modulesimport xmltodict
import json
#declarar o xml
meu_xml = "" "
"" "
#coverting xml para dicionário Python
dict_data = xmltodict.analisar (my_xml)
#coverting para json
json_data = json.despejos (dict_data, indent = 2)
imprimir (json_data)
Resultado
A saída mostra que o XML foi convertido com sucesso para o formato JSON.
Arquivo XML para conversão de arquivo JSON
Os dados dos arquivos XML podem ser convertidos e salvos no arquivo JSON. Vamos abrir o arquivo XML, converter os dados XML em JSON e armazená-los em um arquivo JSON.
A seguir está o arquivo XML.
#importing the modules
import json
import xmltodict
# abrindo o arquivo xml
com ("hotéis.xml "," r ") como xmlfileObj:
#converting dados xml para dicionário
data_dict = xmltodict.parse (xmlfileObj.leitura())
xmlfileObj.perto()
#creating objeto JSON usando objeto de dicionário
jsonObj = json.despejos (data_dict)
#storing json data to json file
com ("hotéis.json "," w ") como jsonfileObj:
jsonfileObj.escrever (jsonObj)
jsonfileObj.perto()
Resultado
O interpretador Python não mostra nenhum erro; isso significa que os dados JSON são salvos com sucesso em um .arquivo json.
Conclusão
XML e JSON são dois formatos de dados populares para armazenar dados. Os dados XML podem ser convertidos em formato JSON usando o módulo xmltodict e JSON. Este artigo explica a conversão de dados XML em JSON com exemplos.