Python 和 JavaScript 之间的 JSON 日期时间
使用 JSON 在 Python 和 JavaScript 之间交换日期时间对象可能具有挑战性,因为它们各自的日期和时间存在差异。时间格式。为了解决这个问题,我们可以实现自定义 JSON 序列化和反序列化处理程序。
在 Python 中,您可以使用 json.dumps 函数中的默认参数定义序列化处理程序函数。只要在序列化过程中遇到日期时间对象,就会调用此处理程序。以下代码片段演示了如何为日期时间对象创建处理程序,将其转换为 ISO 8601 格式:
<code class="python">date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json.dumps(datetime.datetime.now(), default=date_handler)</code>
这会将日期时间对象输出为 ISO 8601 格式的字符串:
<code class="json">"2010-04-20T20:08:21.634121"</code>
在 JavaScript 中,您可以使用自定义反序列化处理程序将接收到的 ISO 8601 字符串转换回日期时间对象。全面的反序列化处理程序函数可能如下所示:
<code class="javascript">function handler(obj) { if (typeof obj === 'string') { if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) { // ISO 8601 Date string return new Date(obj); } } return obj; }</code>
通过使用这些自定义处理程序,您可以使用 JSON 在 Python 和 JavaScript 之间无缝交换日期时间对象,从而确保两个平台之间的兼容性。
以上是如何使用 JSON 在 Python 和 JavaScript 之间交换日期时间对象?的详细内容。更多信息请关注PHP中文网其他相关文章!