Maison >développement back-end >Tutoriel Python >Comment résoudre l'erreur « datetime.datetime n'est pas sérialisable JSON » en Python ?
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)
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!