Maison >développement back-end >Tutoriel Python >Comment puis-je gérer les erreurs « datetime.datetime non sérialisable JSON » en Python ?

Comment puis-je gérer les erreurs « datetime.datetime non sérialisable JSON » en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 17:25:111051parcourir

How Can I Handle

Sérialisation JSON des objets Datetime

La rencontre de l'erreur "datetime.datetime non sérialisable JSON" lors de la tentative de jsonification de dictionnaires contenant des objets datetime met en évidence le devez répondre aux limitations de sérialisation JSON du type datetime de Python. Pour résoudre efficacement ce problème, la solution suivante est proposée :

Une approche de sérialisation JSON personnalisable permet la conversion d'objets non sérialisables, tels que datetime, dans des formats compatibles JSON. En utilisant le paramètre par défaut dans json.dumps(), vous pouvez définir une fonction qui gère la conversion des objets datetime.

Par exemple, une simple fonction par défaut qui convertit les objets datetime en chaînes peut être implémentée comme suit :

def convert_datetime(o):
    if isinstance(o, datetime):
        return str(o)
    return o

En passant cette fonction comme argument par défaut à json.dumps(), vous pouvez vous assurer que les objets datetime sont convertis en chaînes et sérialisés avec succès :

json.dumps(sample, indent=4, sort_keys=True, default=convert_datetime)

Cette approche fournit une solution flexible et personnalisable pour sérialiser des structures de données complexes, y compris celles contenant des objets datetime, au format 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!

Déclaration:
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