How to read JSON file in Python
You can read a JSON file in Python using the built-in json
module which provides methods for working with JSON data. JSON (JavaScript Object Notation) is a lightweight data format that is simple to read and write often used for the transfer of data from client to server.
Following is a good explanation of how to read JSON files in Python.
Steps:
- Import the JSON module: The first step is to import the
json
module, which provides functions for working with JSON data.
import json
2. Open the JSON file: Use Python’s open()
function to open the JSON file in read mode ('r'
), which will allow you to access its contents.
with open('file.json', 'r') as file:
# file handling code goes here
The with
statement ensures that the file is properly closed after the block of code finishes executing.
3. Load JSON data: Use json.load()
to parse the JSON data from the file and convert it into a Python object, such as a dictionary, list, etc. This method reads the JSON data and automatically converts it into Python data types.
with open('file.json', 'r') as file:
data = json.load(file)
4. Accessing the Data: After loading the data, it is now stored as a Python object. If the JSON data represents an object (like a dictionary), you can access individual elements using keys.
print(data) # This prints the entire JSON object (converted into a Python dictionary)
If the JSON data is an array (list in Python), you can access elements by index:
print(data[0]) # If the JSON is an array, this will print the first element
Example:
Suppose you have a JSON file named data.json
with the following content:
{
"name": "Alice",
"age": 25,
"city": "New York"
}
To read and access the data, you would do the following:
import json
# Open the JSON file and load the data
with open('data.json', 'r') as file:
data = json.load(file)
# Accessing values from the dictionary
print(data) # Output: {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(data['name']) # Output: Alice
print(data['age']) # Output: 25
print(data['city']) # Output: New York
Error Handling:
When working with JSON files, you should always handle potential errors, such as missing files or invalid JSON syntax. You can use a try-except
block for error handling:
import json
try:
with open('data.json', 'r') as file:
data = json.load(file)
print(data)
except FileNotFoundError:
print("File not found!")
except json.JSONDecodeError:
print("Error decoding JSON!")
Summary of Functions:
json.load(file):
Reads a JSON file and converts it into a Python object.json.loads(string):
Parses a JSON-encoded string and returns the results as a Python object.json.dump(object, file)
: Converts the specified Python object into a JSON-formatted file.json.dumps(object)
: Converts Python objects into JSON strings.