javascript - Python 和 JavaScript 之间的 JSON 日期时间

标签 javascript python json

我想使用 JSON 从 Python 发送一个序列化形式的 datetime.datetime 对象并使用 JSON 在 JavaScript 中反序列化。最好的方法是什么?

最佳答案

您可以将 'default' 参数添加到 json.dumps 以处理此问题:

date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)
json.dumps(datetime.datetime.now(), default=date_handler)
'"2010-04-20T20:08:21.634121"'

这是ISO 8601格式。

更全面的默认处理函数:

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))

更新:添加了类型和值的输出。
更新:也处理日期

关于javascript - Python 和 JavaScript 之间的 JSON 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/455580/

相关文章:

python - 使用 go.Bar() 时如何消除堆叠条之间的水平间隙?

python - 用于在 NumPy 中创建 block 矩阵序列的向量化语法

javascript - 字典转JSON?

json - 使用 Google Sheets 作为图像轮播的 JSON feed

javascript - 更改大小后 Canvas 状态丢失

javascript - 问题过滤 Knockout.js 可观察数组

python - 如何使用Python从一行中获取以[开头并以]结尾的所有字符串?

php - MySQLi 附加更多/更深的结果

javascript - 使用 serializeArray,尝试从 ajax 插入多个输入,每个输入都有 ID

javascript - 我如何在这个ajax代码中选择第二个输入