Lesson 9
No Object is an Island
Chapter 6: JSON files
Loading a JSON file
The json
module allows you to easily load a JSON file into its equivalent Python object (usually a dict
or list
).
To load your data from a JSON file, use json.load(file_object)
.
The following code loads the content from a file called input.json
into a Python object named data
. You can then manipulate data
as you would a list
or dict
(depending on what is in input.json
)
import json
with open("input.json", "r") as jsonfile:
data = json.load(jsonfile)
print(type(data))
To load your object directly from a JSON string rather than a file, use json.loads(string)
(loads
is short for ‘load string’).
import json
json_string = '[{"id": 2, "name": "Basilisk"}, {"id": 6, "name": "Nagaraja"}]'
data = json.loads(json_string)
print(data[0]) # {'id': 2, 'name': 'Basilisk'}
print(data[1]["name"]) # Nagaraja
The fancy term to describe this process is called deserialisation (converting a string to a data object).