Обработка объектов Datetime в JSON между Python и JavaScript
При обмене данными между Python и JavaScript часто встречаются объекты datetime. Чтобы обеспечить плавную сериализацию и десериализацию этих объектов, можно использовать различные подходы.
Один рекомендуемый метод включает использование параметра «по умолчанию» json.dumps в Python для обработки объектов datetime. Этот параметр позволяет указать функцию-обработчик, которая преобразует объекты datetime в сериализуемый формат.
from datetime import datetime
date_handler = lambda obj: (
obj.isoformat()
if isinstance(obj, (datetime.datetime, datetime.date))
else None
)
json_str = json.dumps(datetime.datetime.now(), default=date_handler)
print(json_str)
Этот подход гарантирует, что объекты datetime Python преобразуются в формат ISO 8601, который стандартизирован и распознается JavaScript.
"2010-04-20T20:08:21.634121"
В качестве альтернативы можно определить более полную функцию-обработчик по умолчанию для обработки различных объектов. типы:
def handler(obj):
if hasattr(obj, 'isoformat'):
return obj.isoformat()
elif isinstance(obj, ...):
return ...
else:
raise TypeError, 'Object of type %s with value of %s is not JSON serializable' % (type(obj), repr(obj))
Эта функция проверяет наличие атрибута isoformat, что часто встречается в объектах datetime и преобразует его в сериализуемый формат. Кроме того, он обрабатывает другие типы объектов по мере необходимости.
Используя эти методы, объекты datetime можно эффективно сериализовать из Python и десериализовать в JavaScript, что облегчает обмен данными между двумя языками.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3