In Python, you can parse JSON data using the built-in json
module. This module provides convenient methods for reading JSON from a file or a string and converting it into Python dictionaries and lists. Below is a step-by-step guide to loading and parsing JSON data in Python.
Let's start with a sample JSON file named data.json
:
{
"name": "John Doe",
"age": 32,
"address": {
"street": "123 Main St",
"city": "Anytown",
"state": "CA"
}
}
To load this JSON file into a Python dictionary, use the json.load()
function. Here’s a simple example:
import json
Open the JSON file
with open('data.json', 'r') as file:
# Parse the JSON file into a Python dictionary
data = json.load(file)
Display the parsed data
print(data)
In this example, the json.load()
function reads the JSON data from data.json
and parses it into a Python dictionary. The with open()
statement is used to open the file and ensure it’s closed properly after reading.
If you have JSON data in a string format, you can use json.loads()
instead. Here’s an example:
import json
json_string = '{"name": "John Doe", "age": 32, "address": {"street": "123 Main St", "city": "Anytown", "state": "CA"}}'
Parse the JSON string into a Python dictionary
data = json.loads(json_string)
Display the parsed data
print(data)
When dealing with APIs that return JSON data, you can use the requests
library to make HTTP requests and parse the JSON response. Here’s how:
import requests
response = requests.get('https://httpbin.org/ip')
Check if the request was successful
if response.status_code == 200:
# Parse the JSON response directly
data = response.json()
print(data)
else:
print(f"Failed to retrieve data: {response.status_code}")
In this example, response.json()
directly parses the JSON content of the API response into a Python dictionary, making it easy to work with JSON data returned from web APIs. This method is both convenient and efficient for handling JSON in Python.