Open In App

Difference Between json.load() and json.loads() - Python

Last Updated : 03 Jul, 2025
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

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": "[email protected]",
    "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': '[email protected]', '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": "[email protected]", 
    "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': '[email protected]',

'Hobbies': ['Reading', 'Sketching', 'Horse Riding']

}


Next Article
Article Tags :
Practice Tags :

Similar Reads