Maison > développement back-end > Tutoriel Python > Comment résoudre l'erreur « datetime.datetime n'est pas sérialisable JSON » en Python ?

Comment résoudre l'erreur « datetime.datetime n'est pas sérialisable JSON » en Python ?

Barbara Streisand
Libérer: 2024-12-11 01:58:13
original
557 Les gens l'ont consulté

How to Solve the

Surmonter l'erreur "datetime.datetime non sérialisable JSON"

Lors de la sérialisation d'un dictionnaire Python contenant un objet datetime, comme dans l'exemple fourni , une erreur peut survenir : TypeError : datetime.datetime n'est pas JSON sérialisable.

Solution :

Une approche pour résoudre ce problème consiste à spécifier une fonction par défaut personnalisée lors de la sérialisation du dictionnaire en JSON. Cette fonction gérera la conversion d'objets non sérialisables, tels que les objets datetime, dans un format compatible JSON.

import json

sample = {}
sample['title'] = "String"
sample['somedate'] = datetime.datetime(2012, 8, 8, 21, 46, 24, 862000)

def datetime_handler(x):
    if isinstance(x, datetime.datetime):
        return x.isoformat()
    raise TypeError("Unknown type")

json_string = json.dumps(sample, default=datetime_handler)
Copier après la connexion

Dans cette solution, la fonction datetime_handler est définie pour convertir les objets datetime en une représentation sous forme de chaîne. en utilisant la méthode isoformat(). Cette représentation sous forme de chaîne peut ensuite être gérée de manière appropriée lors de la désérialisation.

En fournissant une fonction par défaut personnalisée comme celle-ci, vous pouvez convertir avec succès votre dictionnaire contenant des objets datetime dans un format sérialisable JSON.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal