获取Python JSON来序列化日期时间

2024-01-04

有一些我想使用 JSON 序列化的嵌套对象。问题是某些属性包含datetimes。当我尝试序列化这些 pbject 时,Python 抛出异常:



TypeError: datetime.datetime(2012, 6, 5, 17, 49, 35, 672115) is not JSON serializable
  

使用Python 2.7,有没有办法告诉json序列化器:“当你看到日期时间时,不要烦人并抛出异常,只需使用以下序列化:property.strftime('%Y-%m-%d %I:%M%p')"

Thanks!


您需要定义一个辅助函数来序列化datetime对象,并使用default夸格的json转储 http://docs.python.org/library/json.html#json.dump或 json.dumps。请参阅带有重复答案链接的评论。

此外,您还需要考虑是否支持时区感知datetime对象。以及您是否想在序列化期间保留时区,或者只是在序列化之前转换为 UTC。

下面的示例假设您希望在序列化之前转换为 UTC。它依赖于python-dateutil http://labix.org/python-dateutil图书馆:

from dateutil.tz import tzutc

UTC = tzutc()

def serialize_date(dt):
    """
    Serialize a date/time value into an ISO8601 text representation
    adjusted (if needed) to UTC timezone.

    For instance:
    >>> serialize_date(datetime(2012, 4, 10, 22, 38, 20, 604391))
    '2012-04-10T22:38:20.604391Z'
    """
    if dt.tzinfo:
        dt = dt.astimezone(UTC).replace(tzinfo=None)
    return dt.isoformat() + 'Z'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取Python JSON来序列化日期时间 的相关文章

随机推荐

  • 存储时间信息:需要时区吗?

    我很想知道我正在考虑的是否是不好的做法 或者因为这是一个特定且经过深思熟虑的选择 所以它实际上是一个不错的主意 我想存储特定城市发生的事件的日期信息 我想将该数据存储为 UTC 时间戳 简单地存储时间戳和城市 ID 国家 ID 与特定时区相
  • 在 TOleContainer 中嵌入多个 MS Word 实例

    这让我很头疼 我正在开发的 delphi 应用程序使用 TOLEContainer 中的 Word 打开一个或多个表单 我遇到的问题是 当使用嵌入的 Word 实例打开多个表单时 一个实例的控件会影响所有其他实例 而第一个实例上的控件不可用
  • CAKE 构建和 NUNIT3 生成空结果文件

    我正在使用 cake build 并尝试将 cake 单元测试结果上传到 AppVeyor 但是当我在本地运行时 Cake Nunit3 生成空结果 我认为这就是导致 AppVeyor 上错误的原因 在下面的块中 生成了 NUnitResu
  • 如何使用 Velocity.js 为翻译属性设置动画?

    我有一个简单的块 应该使用 translateX 向左移动 200px 它将向左移动 位置也向左 我似乎无法使用translateX 或translateY 移动块 Transform 翻译的 CSS 值将起作用 使用翻译的原因是与位置相比
  • 窗口最小化时的 AudioContext 计时问题

    我按照中的说明进行操作本文 http www html5rocks com en tutorials audio scheduling 并创建了一个 Javascript 节拍器 它利用 Web Audio API 并具有audioCont
  • Visual Studio 2010 右键单击​​时崩溃

    我在 Windows 7 中遇到了这个问题 现在使用 Windows 8 1 x64 的格式化后且非常干净的 C 磁盘 我也遇到了这个问题 当我在 Visual Studio 2010 中执行 Visual C 应用程序并右键单击以显示右侧
  • 如何在 OSX 上安装 python-gtk2、python-webkit 和 python-jswebkit

    我已经阅读了许多相关问题 但仍然不清楚如何做到这一点 因为有许多可用的软件组合 并且许多解决方案似乎已经过时 在 OSX 上的虚拟环境中安装以下内容的最佳方法是什么 python gtk2 python webkit python jswe
  • 没有父表标签的 td

    HTML td class tabletd text one td br td class tabletd this is next td td
  • ADK 1.0 设备无法与 Jelly Bean 配合使用,为什么?

    刚刚将久经考验的 ADK 配件连接到 Nexus 7 和 Galaxy Nexus 连接失败 并显示 无法读取设备协议版本 消息 以为主板坏了 用 ICS 连接到 Nexus S 工作得很好 在 Jelly Bean 升级之前也在 Gala
  • 消息:call_user_func_array() 期望参数 1 是有效的回调

    遇到 PHP 错误 严重性 警告 消息 call user func array 期望参数 1 是有效的回调 类 Error 没有方法 index 文件名 core CodeIgniter php 线路号码 532 回溯 文件 var ww
  • 在离子框架中放大时,离子滚动使我的图像变得模糊

    我在 ionic 框架的 ion scroll 标签中加载图片 当我尝试放大时 图片变得模糊 字母也无法辨认 这种情况在我的浏览器和 Android 上都会发生 我的模板的代码
  • 如何自定义android中长按/延迟按钮按下的时间间隔

    我正在制作一个应用程序 它有一个按钮来执行操作 但我想在用户长按按钮时执行该操作 因为 Google 提供了长按持续时间 appx 5 秒 但我想自定义这个持续时间 请帮忙 你可以试试Touch Listener去做这个 Try Handl
  • 用于组合 NUnit 或 MSTest XML 结果的 MSBuild 任务

    我有一组 NUnit XML 结果文件 由 xUnit NET 通过 Xunit Runner MSBuild xunit msbuild 任务的 NUnitXml 参数生成 几乎与如何让 Team Build 显示 xUnit net 测
  • 如何在 woocommerce 中为不同类别存档页面调用不同模板

    我在 woocommerce 中有两个类别 一个是 男性 另一个是 女性 默认 woocommerce 为类别存档页面调用 archive product php 但我想为每个类别存档页面显示不同的布局 这个怎么做 您可以看到 WooCom
  • JS 异步/等待任务队列

    在我的 JS 应用程序中 我使用 async await 功能 我想执行多个 API 调用 并希望它们被一个接一个地调用 换句话说 我想替换这个简单的方法 const addTask async url options gt return
  • 如何使用自动工具设置包含路径

    我正在开发一个 C 项目 该项目使用autoconf automake 我正在努力正确设置包含路径 CPPFLAGS 我读了大约3个小时的文档 但我还没有弄清楚 我不是在寻找黑客 而是在寻找正确的方法来做到这一点 这是我的难题 据我所知 包
  • 使用 Javascript 实现背景翻转平铺

    我有一个背景图像 当前垂直重复并位于页面中央 这里有一些描述图像的 ASCII 艺术 并标记了左右两侧 L R 我希望通过每次沿着垂直边缘翻转图像来在整个浏览器窗口中重复图像 L R R L L R R L
  • 在 Firefox Addon 中获取当前浏览器 url

    我在一个面板中 我想获取当前的浏览器 URL 到目前为止没有任何效果 这是我测试过的 唯一能返回任何东西的东西 我得到类似的东西resource jid0 18z0ptaugyu0arjkaoywztggyzg at jetpack 然后是
  • ASP.NET Core 1.0 中无法访问 System.Messaging/MSMQ

    我一直在尝试使用 MVC 6 和其他一些较新的 Web 开发工具 Angular 2 0 等 并且在设置利用 MSMQ 的网页时遇到了一些问题 作为参考 我使用的是 VS2015 Update 2 我相信它仍然是 RC1 当我第一次尝试弄乱
  • 获取Python JSON来序列化日期时间

    有一些我想使用 JSON 序列化的嵌套对象 问题是某些属性包含datetimes 当我尝试序列化这些 pbject 时 Python 抛出异常 TypeError datetime datetime 2012 6 5 17 49 35 67