Python - XML to JSON - GeeksforGeeks

14 Aug, 2021
A JSON file is a file that stores simple data structures and objects in JavaScript Object Notation (JSON) format, which is a standard data interchange format. It is primarily used for transmitting data between a web application and a server.A JSON object contains data in the form of a key/value pair. The keys are strings and the values are the JSON types. Keys and values are separated by a colon. Each entry (key/value pair) is separated by a comma. JSON files are lightweight, text-based, human-readable, and can be edited using a text editor.Note: For more information, refer to Working With JSON Data in PythonXML is a markup language which is designed to store data. It is case sensitive. XML offers you to define markup elements and generate customized markup language. The basic unit in the XML is known as an element. The XML language has no predefined tags. It simplifies data sharing, data transport, platform changes, data availability Extension of an XML file is .xmlNote: For more information, refer to XML | BasicsBoth JSON and XML file format are used for transferring data between client and server. However, they both serve the same purpose though differ in their on way. 
 
 
To handle the JSON file format, Python provides a module named json.STEP 1: install xmltodict module using pip or any other python package manager  
pip install xmltodict
STEP 2: import json module using the keyword import  
import json
STEP 3: Read the xml file here, “data_dict” is the variable in which we have loaded our XML data after converting it to dictionary datatype.  
with open("xml_file.xml") as xml_file:
    data_dict = xmltodict.parse(xml_file.read())
STEP 4: Close the XML file  
xml_file.close()
STEP 5: Convert the xml_data into a dictionary and store it in a variable JSON object are surrounded by curly braces { }. They are written in key and value pairs. json.loads() takes in a string and returns a json object. json.dumps() takes in a json object and returns a string. We use xml_data as input string and generate python object, so we use json.dumps()  
json_data = json.dumps(data_dict)
Here, json_data is the variable used to store the generated object.STEP 6: Write the json_data to output file  
with open("data.json", "w") as json_file:
        json_file.write(json_data)
STEP 7: Close the output file  
json_file.close()
Example:XML File: 
 
Python3
# Program to convert an xml# file to json file # import json module and xmltodict# module provided by pythonimport jsonimport xmltodict  # open the input xml file and read# data in form of python dictionary# using xmltodict modulewith open("test.xml") as xml_file:         data_dict = xmltodict.parse(xml_file.read())    xml_file.close()         # generate the object using json.dumps()    # corresponding to json data         json_data = json.dumps(data_dict)         # Write the json data to output    # json file    with open("data.json", "w") as json_file:        json_file.write(json_data)        json_file.close()
Output: 
 
gulshankumarar231
Python-json
Python
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Python Dictionary
How to Install PIP on Windows ?
Enumerate() in Python
Different ways to create Pandas Dataframe
Iterate over a list in Python
Python String | replace()
*args and **kwargs in Python
Reading and Writing to text files in Python
Create a Pandas DataFrame from Lists
Convert integer to string in Python