How to Read JSON File in Python
JSON, which stands for JavaScript Object Notation, is a popular format used to store and exchange structured data. It is lightweight, easy to read, and commonly used when data needs to be transferred between web applications and servers.
JSON is especially useful for Python developers because its structure is very similar to Python dictionaries and lists. This makes it easy to work with JSON data in Python programs. JSON files are commonly used for API responses, configuration files, application data, and data exchange.
In this tutorial, you will learn how to read a JSON file in Python using the built-in json module. We will also look at how json.load() works, how to access the data, and how to handle common file and JSON errors.
Table of Contents

Complete Advance AI Topics: Click Here
Complete Python Course with Advance Topics: Click Here
What is JSON?
JSON is a text-based format used to represent structured information. It stores data using key-value pairs, arrays, and other basic data types.
Here is a simple JSON example:
{
"book": [
{
"id": 1,
"language": "English",
"edition": "Second",
"author": "Derrick Mwiti"
},
{
"id": 2,
"language": "French",
"edition": "Third",
"author": "Vladimir"
}
]
}
In this example, book contains a list of objects. Each object contains information such as the book ID, language, edition, and author.
Why Use JSON in Python?
JSON is widely used in Python applications because it provides a simple way to store and exchange structured data. It is commonly found in web APIs, configuration files, backend applications, and data-processing projects.
Python also provides a built-in json module, so you do not need to install an external package to read a JSON file.
How to Read a JSON File in Python
To read a JSON file, you can use Python’s built-in json module. The json.load() function reads JSON data from an open file and converts it into a Python object.
For example, suppose you have a file named student.json containing:
{
"name": "Peter",
"Subjects": ["English", "Political Science"]
}
You can read this file using the following Python code:
import json
file_path = r'C:\Users\YourName\student.json'
with open(file_path, 'r') as file:
data = json.load(file)
print(data)
Output:
{'name': 'Peter', 'Subjects': ['English', 'Political Science']}
The JSON file has now been converted into a Python dictionary, which can be accessed like any other dictionary.
Understanding the Code
Let’s understand the important parts of the program step by step.
1. Import the json Module
import json
The json module provides functions for working with JSON data. It is included with Python, so no separate installation is required.
2. Specify the File Path
file_path = r'C:\Users\YourName\student.json'
This variable stores the location of the JSON file. On Windows, using a raw string with r helps prevent backslash-related path problems.
3. Open the JSON File
with open(file_path, 'r') as file:
The open() function opens the file in read mode. The with statement automatically handles closing the file after the operation is completed.
4. Read the JSON Data
data = json.load(file)
The json.load() function reads the contents of the file and converts the JSON data into a corresponding Python object.
5. Display the Data
print(data)
This displays the parsed JSON data in Python format.
How to Access Data from a JSON File
After reading the JSON file, you can access individual values just like dictionary values in Python.
For the previous example, you can access the student’s name using:
print(data["name"])
Output:
Peter
You can also access the list of subjects:
print(data["Subjects"])
Output:
['English', 'Political Science']
To access a specific subject, use its list index:
print(data["Subjects"][0])
Output:
English
How to Read JSON with Error Handling
While reading a JSON file, errors can occur. For example, the file may not exist or its contents may not contain valid JSON. You can handle these situations using try-except.
import json
file_path = r'C:\Users\YourName\student.json'
try:
with open(file_path, 'r') as file:
data = json.load(file)
print("JSON data successfully read:")
print(data)
except FileNotFoundError:
print("Error: The file was not found.")
except json.JSONDecodeError:
print("Error: The file is not valid JSON.")
This approach makes your program more reliable because it can display a useful message instead of stopping unexpectedly when an error occurs.
Common Errors When Reading JSON Files
FileNotFoundError
This error occurs when Python cannot find the specified JSON file. Check the file name and path carefully.
JSONDecodeError
This error usually occurs when the file contains invalid JSON syntax. Check brackets, quotation marks, commas, and key-value pairs in the JSON file.
Incorrect File Path
Windows file paths can sometimes cause problems because backslashes have special meanings in Python strings. You can use a raw string:
r'C:\Users\YourName\student.json'
or use forward slashes:
'C:/Users/YourName/student.json'
Best Practices for Reading JSON in Python
- Use the built-in
jsonmodule for standard JSON operations. - Use
with open()so files are handled safely. - Check the file path carefully.
- Use
try-exceptwhen file or JSON errors are possible. - Use
json.load()when reading JSON directly from a file. - Access parsed JSON data using normal Python dictionaries and lists.
Conclusion
Reading a JSON file in Python is simple with the built-in json module. The json.load() function allows you to read JSON data from a file and convert it into a Python dictionary or list.
Once the data has been loaded, you can access individual values using dictionary keys and list indexes. For reliable applications, it is also useful to handle errors such as FileNotFoundError and JSONDecodeError.
Learning how to work with JSON is an important Python skill because JSON is commonly used with APIs, backend applications, configuration files, and real-world data-processing projects.
YT:- DecodeIT
Frequently Asked Questions (FAQ)
1. How do I read a JSON file in Python?
Import the json module, open the file, and use json.load() to read its contents.
2. What is json.load() used for?
json.load() reads JSON data from an open file and converts it into a Python object such as a dictionary or list.
3. Do I need to install the json module?
No. The json module is included with Python, so it does not require a separate installation.
4. How do I access JSON data after reading it?
After loading the JSON file, you can access dictionary values using keys, such as data["name"].
5. What does JSONDecodeError mean?
It generally means that the JSON file contains invalid JSON syntax and cannot be parsed correctly.
6. Can I read JSON files in Jupyter Notebook?
Yes. The same json.load() method can be used in Jupyter Notebook to read JSON files.
Related Keywords
how to read json file in python, how to read json file in python using pandas, how to read json file in python jupyter notebook, how to read json file in python stack overflow, how to read json file in python lambda, how to read json file in python line by line, how to read json file in python selenium, how to read json file in python from s3, how to read json file in python flask