Hello, readers! In this article, we will be focusing on the concept of Serialization and Deserialization of JSON to objects in Python.
So, let us get started!! 🙂
When it comes to dealing with data and APIs, we encounter either a dictionary or a JSON format of data. At times, we need functions that enable us to perform interconversion amongst them. We will be having a look at some of the methods to have the data serialized as well as de-serialized.
Also read: Python JSON module
Serialization of JSON data in Python
Serialization is the process wherein we convert the data type of the raw data into a JSON format. With that, we mean to say, that the raw data usually a dictionary will now follow the Javascript Object Notation format.
For the same, Python offers us the below functions to easily have our data formulated to JSON–
- json.dump() function
- json.dumps() function
The json.dump() function
In json.dump() function, it accepts the raw data as input, converts the data into a JSON format, and then stores it into a JSON file.
Syntax:
json.dump(data, file-object)
- data: The actual data that needs to be converted to JSON format.
- file-object: It is the object that would be pointing to the JSON file where the converted data will be stored. In case the file does not exist, then a new file gets created at the location pointed by the object.
Example:
import json
data= {
"details": {
"name": "YZ",
"subject": "Engineering",
"City": "Pune"
}
}
with open( "info.json" , "w" ) as x:
json.dump( data, x )
The json.dumps() function
Unlike dump() function, json.dumps() function does convert the raw data into JSON format but stores it as a string rather than pointing it to a file object.
Syntax:
json.dumps(data)
Example:
import json
data= {
"details": {
"name": "YZ",
"subject": "Engineering",
"City": "Pune"
}
}
res = json.dumps(data)
print(res)
Output–
{"details": {"name": "YZ","subject": "Engineering","City": "Pune"}}
De-Serialization of JSON data
Having understood about deserialization, now let’s reverse the process.
That is, with deserialization, we can easily convert the JSON data into the default/native data type which is usually a dictionary.
For the same, Python offers us the below functions to implement the concept of De-serialization–
- json.load() function
- json.loads() function
The json.load() function
Here, the load() function enables us to convert the JSON data into the native dictionary format.
Syntax:
json.load(data)
Example:
In this example, we have first loaded the JSON file using the open() function. Post which, we pass the object referring the JSON file to the load() function and deserialize it into dictionary form.
import json
data = open('info.json',)
op = json.load(data)
print(op)
print("Datatype after de-serialization : " + str(type(op)))
Output:
{"details": {"name": "YZ","subject": "Engineering","City": "Pune"}}
Datatype after de-serialization : <class 'dict'>
Conclusion
By this, we have come to the end of this topic. Feel free to comment below, in case you come across any questions.
For more such posts related to Python programming, Stay tuned with us.
Till then, Happy Learning! 🙂