Difference Between json.load() and json.loads() Python (original) (raw)
Last Updated : 3 Jul, 2025
This article discusses the differences between two important methods: json.load() and json.loads(). Both are used to convert JSON data into Python objects, but they are used in different contexts.
json.load()
**json.load() takes a file object and returns the json object. It is used to read JSON encoded data from a file and convert it into a Python dictionary and deserialize a file itself i.e. it accepts a file object.
Syntax
json.load(_fp, _cls=None, _object_hook=None, _parse_float=None, _parse_int=None, _parse_constant=None, _object_pairs_hook=None, _**kw)
**Parameters:
- **fp: The file pointer from which to read the JSON data.
- **object_hook: A function that customizes the conversion of JSON objects to Python objects.
- **parse_float: A function that converts JSON float values.
- **parse_int: A function that converts JSON integer values.
- **object_pairs_hook: A function that converts JSON objects to an ordered dictionary.
**Example: First creating the json file:
Python `
import json
data = { "name": "Satyam kumar", "place": "patna", "skills": [ "Raspberry pi", "Machine Learning", "Web Development" ], "email": "xyz@gmail.com", "projects": [ "Python Data Mining", "Python Data Science" ] } with open( "data_file.json" , "w" ) as write: json.dump( data , write )
`
**Output:
data_file.json
After, creating json file, let's use json.load():
Python `
with open("data_file.json", "r") as read_content: print(json.load(read_content))
`
**Output:
{'name': 'Satyam kumar', 'place': 'patna', 'skills': ['Raspberry pi', 'Machine Learning', 'Web Development'],
'email': 'xyz@gmail.com', 'projects': ['Python Data Mining', 'Python Data Science']}
json.loads()
**json.loads() method can be used to parse a valid JSON string and convert it into a Python Dictionary. It is mainly used for deserializing native string, byte, or byte array which consists of JSON data into Python Dictionary.
Syntax
json.loads(s, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
**Parameters:
- **s: The string containing the JSON data to be parsed.
- **object_hook: A function that customizes the conversion of JSON objects to Python objects.
- **parse_float: A function that converts JSON float values.
- **parse_int: A function that converts JSON integer values.
- **object_pairs_hook: A function that converts JSON objects to an ordered dictionary.
**Example: Let's parse a JSON string using json.loads():
Python `
import json
JSON string:
data = """{ "Name": "Jennifer Smith", "Contact Number": 7867567898, "Email": "jen123@gmail.com", "Hobbies":["Reading", "Sketching", "Horse Riding"] }"""
parse data:
res = json.loads( data )
the result is a Python dictionary:
print( res )
`
**Output:
{
'Name': 'Jennifer Smith',
'Contact Number': 7867567898,
'Email': 'jen123@gmail.com',
'Hobbies': ['Reading', 'Sketching', 'Horse Riding']
}