The full form of JSON is JavaScript Object Notation. It means that a script (executable) file which is made of text in a programming language, is used to store and transfer the data. Python supports JSON through a built-in package called JSON. To use this feature, we import the JSON package in Python script. The text in JSON is done through quoted-string which contains the value in key-value mapping within { }.
Python Parse JSON – How to Read a JSON File
It’s pretty easy to load a JSON object in Python. Python has a built-in package called JSON, which can be used to work with JSON data. It’s done by using the JSON module, which provides us with a lot of methods which among loads() and load() methods are gonna help us to read the JSON file.
Deserialize a JSON String to an Object in Python
The Deserialization of JSON means the conversion of JSON objects into their respective Python objects. The load()/loads() method is used for it. If you have used JSON data from another program or obtained it as a string format of JSON, then it can easily be deserialized with load()/loads(), which is usually used to load from string, otherwise, the root object is in list or dict. See the following table given below.
JSON OBJECT |
PYTHON OBJECT |
---|---|
object |
dict |
array |
list |
string |
str |
null |
None |
number (int) |
int |
number (real) |
float |
true |
True |
false |
False |
json.load() method
The json.load() accepts the file object, parses the JSON data, populates a Python dictionary with the data, and returns it back to you.
Syntax:
json.load(file object)
Parameter: It takes the file object as a parameter.
Return: It return a JSON Object.
Loading a JSON File in Python
Here we are going to read a JSON file named data.json the screenshot of the file is given below.
In the below code, firstly we import the JSON module, open the file using the file handling open() function, and then store the data into the variable ‘data’ using the json.load() function. After that, we iterate over the data and print it.
Python3
# Python program to read # json file import json # Opening JSON file f = open ( 'data.json' ) # returns JSON object as # a dictionary data = json.load(f) # Iterating through the json # list for i in data[ 'emp_details' ]: print (i) # Closing file f.close() |
Output:
json.loads() Method
If we have a JSON string, we can parse it by using the json.loads() method. json.loads() does not take the file path, but the file contents as a string, to read the content of a JSON file we can use fileobject.read() to convert the file into a string and pass it with json.loads(). This method returns the content of the file.
Syntax:
json.loads(S)
Parameter: it takes a string, bytes, or byte array instance which contains the JSON document as a parameter (S).
Return Type: It returns the Python object.
Python – Read JSON String
This example shows reading from both string and JSON file using json.loads() method. Firstly, we have a JSON string stored in a variable ‘j_string’ and convert this JSON string into a Python dictionary using json.loads() method that is stored in the variable ‘y’ after that we print it. Secondly, we read JSON String stored in a file using json.loads() for that we first convert the JSON file into a string using the file handling same as in the above example and then convert it into the string using read() function and rest of the procedure is same as we follow before using json.loads() method.
Python3
# Python program to read # json file import json # JSON string j_string = '{"name": "Bob", "languages": "English"}' # deserializes into dict and returns dict. y = json.loads(j_string) print ( "JSON string = " , y) print () # JSON file f = open ( 'data.json' , "r" ) # Reading from file data = json.loads(f.read()) # Iterating through the json list for i in data[ 'emp_details' ]: print (i) # Closing file f.close() |
Explanation: Here in the output we can see both the output of the reading string and file using json.loads() method
Output: