Thanks to visit codestin.com
Credit goes to www.rameshfadatare.com

Python json.load Function

The json.load function in Python’s json module deserializes a JSON-formatted stream into a Python object. This function is useful for reading JSON data from a file and converting it into a Python object.

Table of Contents

  1. Introduction
  2. json.load Function Syntax
  3. Examples
    • Basic Usage
    • Reading JSON from a File
    • Handling JSON Data with Custom Decoders
  4. Real-World Use Case
  5. Conclusion

Introduction

The json.load function in Python’s json module reads a JSON-formatted stream (like a file) and converts it into a Python object, such as a dictionary or list. This is useful for loading data that has been saved in JSON format.

json.load Function Syntax

Here is how you use the json.load function:

import json

python_object = json.load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None)

Parameters:

  • fp: The file-like object containing the JSON data.
  • cls: Optional. A custom JSONDecoder subclass.
  • object_hook: Optional. A function that will be called with the result of any object literal decoded.
  • parse_float: Optional. A function that will be called with the string of every JSON float to be decoded.
  • parse_int: Optional. A function that will be called with the string of every JSON int to be decoded.
  • parse_constant: Optional. A function that will be called with the string of every JSON constant ("NaN", "Infinity", "-Infinity") to be decoded.
  • object_pairs_hook: Optional. A function that will be called with the result of any object literal decoded with an ordered list of pairs.

Returns:

  • A Python object representing the JSON data.

Examples

Basic Usage

Here’s an example of how to use the json.load function to read JSON data from a file-like object.

Example

import json

# Assuming 'employee.json' contains: {"id": 1, "firstName": "John", "lastName": "Doe", "email": "[email protected]"}

with open('employee.json', 'r') as file:
    employee = json.load(file)
    print(employee)

Output:

{'id': 1, 'firstName': 'John', 'lastName': 'Doe', 'email': '[email protected]'}

Reading JSON from a File

This example demonstrates how to read JSON data from a file using the json.load function.

Example

import json

# Reading JSON data from 'employee.json'
with open('employee.json', 'r') as file:
    employee = json.load(file)
    print(f"ID: {employee['id']}")
    print(f"First Name: {employee['firstName']}")
    print(f"Last Name: {employee['lastName']}")
    print(f"Email: {employee['email']}")

Output:

ID: 1
First Name: John
Last Name: Doe
Email: [email protected]

Handling JSON Data with Custom Decoders

This example demonstrates how to use custom decoders with the json.load function to handle special data types or perform custom deserialization.

Example

import json

# Custom decoder function to handle JSON objects
def employee_decoder(dct):
    return Employee(dct['id'], dct['firstName'], dct['lastName'], dct['email'])

# Employee class
class Employee:
    def __init__(self, id, firstName, lastName, email):
        self.id = id
        self.firstName = firstName
        self.lastName = lastName
        self.email = email

    def __repr__(self):
        return f"Employee(id={self.id}, firstName='{self.firstName}', lastName='{self.lastName}', email='{self.email}')"

# Reading JSON data from 'employee.json' with a custom decoder
with open('employee.json', 'r') as file:
    employee = json.load(file, object_hook=employee_decoder)
    print(employee)

Output:

Employee(id=1, firstName='John', lastName='Doe', email='[email protected]')

Real-World Use Case

Loading Configuration Data

In real-world applications, the json.load function can be used to load configuration data from a JSON file. This allows the application to be easily configured by changing the JSON file.

Example

import json

def load_employees(filename):
    with open(filename, 'r') as file:
        employees = json.load(file, object_hook=employee_decoder)
    return employees

# Example usage
employees = load_employees('employees.json')
for emp in employees:
    print(emp)

# Assuming 'employees.json' contains:
# [
#     {"id": 1, "firstName": "John", "lastName": "Doe", "email": "[email protected]"},
#     {"id": 2, "firstName": "Jane", "lastName": "Smith", "email": "[email protected]"}
# ]

Output:

Employee(id=1, firstName='John', lastName='Doe', email='[email protected]')
Employee(id=2, firstName='Jane', lastName='Smith', email='[email protected]')

Conclusion

The json.load function in Python’s json module reads a JSON-formatted stream and converts it into a Python object. This is useful for loading data stored in JSON format into a Python program. Proper use of this function can simplify data loading and enhance the flexibility of your applications.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top