Home > Backend Development > Python Tutorial > How Do I Solve JSON Serialization Errors with Python's datetime Objects?

How Do I Solve JSON Serialization Errors with Python's datetime Objects?

Patricia Arquette
Release: 2024-12-04 22:06:15
Original
1031 people have browsed it

How Do I Solve JSON Serialization Errors with Python's datetime Objects?

Overcoming JSON Serialization Issues with datetime.datetime

In the course of working with Python dictionaries containing datetime objects, such as sample['somedate'], you may encounter the following error when attempting to serialize the dictionary to JSON:

TypeError: datetime.datetime(2012, 8, 8, 21, 46, 24, 862000) is not JSON serializable
Copy after login

The primary solution to this issue lies in providing a custom serialization function to handle datetime objects. A popular approach involves using the default parameter of the json.dumps() function, which accepts a function that takes an object as an input and returns a serializable representation.

In this scenario, a simple implementation could be as follows:

def default(obj):
    if isinstance(obj, datetime.datetime):
        return str(obj)
    # Other logic to handle other types (if needed)

json_string = json.dumps(sample, default=default)
Copy after login

This function converts the datetime object to a string representation before serialization. Alternatively, you could utilize Python's built-in ctime() method:

sample['somedate'] = sample['somedate'].ctime()
json_string = json.dumps(sample)
Copy after login

This approach converts the datetime object to a human-readable string that can be serialized as part of your dictionary.

The above is the detailed content of How Do I Solve JSON Serialization Errors with Python's datetime Objects?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template