Open In App

Read JSON file using Python

Last Updated : 10 Jan, 2025
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Share
Report
News Follow

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 { }.

Example: Python Read JSON File

import json

# Open and read the JSON file
with open('data.json', 'r') as file:
    data = json.load(file)

# Print the data
print(data)

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.

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.

{
"emp_details": [
{
"emp_name": "Shubham",
"email": "ksingh.shubh@gmail.com",
"job_profile": "intern"
},
{
"emp_name": "Gaurav",
"email": "gaurav.singh@gmail.com",
"job_profile": "developer"
},
{
"emp_name": "Nikhil",
"email": "nikhil@geeksforgeeks.org",
"job_profile": "Full Time"
}
]
}

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

If you’re interested in mastering Python concepts like working with JSON, exploring Boot.dev’s Full Python Course for Beginners might be a great next step. The course emphasizes hands-on projects and practical programming skills, helping you apply concepts like these in real-world scenarios.

Python Read JSON File

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.

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:

{'emp_name': 'Shubham', 'email': 'ksingh.shubh@gmail.com', 'job_profile': 'intern'},
{'emp_name': 'Gaurav', 'email': 'gaurav.singh@gmail.com', 'job_profile': 'developer'},
{'emp_name': 'Nikhil', 'email': 'nikhil@geeksforgeeks.org', 'job_profile': 'Full Time'}

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.

Example: Here in the output we can see both the output of the reading string and file using json.loads() method

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)

Output:

JSON string =  {'name': 'Bob', 'languages': 'English'}

FAQs

How to convert the JSON data into Python objects?

We can use the json.loads() function from the json module to convert JSON data (in string format) into Python objects (like dictionaries or lists).

import json
json_data = ‘{“name”: “John”, “age”: 30}’
python_obj = json.loads(json_data)

Here, python_obj will be a Python dictionary representing the JSON data.

What is the best Python library for reading JSON files?

The json module, which comes built-in with Python, is widely used and efficient for reading and writing JSON data. For more advanced features and utilities, libraries like pandas or requests can also handle JSON effectively.

How to read nested JSON in Python?

Access nested JSON data by chaining keys (for dictionaries) or indices (for lists) together. For example:

import json
json_data = ‘{“person”: {“name”: “John”, “age”: 30}}’
data = json.loads(json_data)
# Accessing nested data
print(data[‘person’][‘name’]) # Output: John



Next Article

Similar Reads

three90RightbarBannerImg