Python使用DjangoJSONEncoder或json_util把日期时间序列化为JSON
作者:admin 时间:2021-12-31 10:14:40 浏览:Python把日期时间序列化为JSON的方法有很多,前面分别介绍过两种方法Python将日期时间DateTime序列化为JSON和编写自定义方法将日期时间转为JSON,本文中,将介绍Python如何使用DjangoJSONEncoder或json_util把日期时间序列化为JSON。
Python编写自定义方法将日期时间转为JSON
使用 DjangoJSONEncoder
如果你使用的是 Django,则可以利用 DjangoJSONEncoder
序列化程序来序列化dateTime。
import json
import datetime
from django.core.serializers.json import DjangoJSONEncoder
employee = {
"id": 456,
"name": "William Smith",
"saley": 8000,
"joindate": datetime.datetime.now()
}
print("JSON Data")
print(json.dumps(employee, cls=DjangoJSONEncoder))
输出:
JSON Data
{"id": 456, "name": "William Smith", "salary": 8000, "joindate": "2020-01-08 18:39:30.161488"}
使用 json_util
该bson模块具有 json_util
类,我们可以直接使用它来把dateTime转换为 JSON,而无需进行任何显式转换。
让我们看看例子。
import json
import datetime
from bson import json_util
employee = {
"id": 456,
"name": "William Smith",
"salary": 8000,
"joindate": datetime.datetime.now()
}
jsonData = json.dumps(employee, default=json_util.default)
print(jsonData)
jsonData = """{"id": 456, "name": "William Smith", "saley": 8000, "joindate": "2020-01-08T15:29:52.040435"}"""
# Deserialization
decodedJson = json.loads(jsonData, object_hook=json_util.object_hook)
输出:
JSON Data
{"id": 456, "name": "William Smith", "salary": 8000, "joindate": "2020-01-08 18:39:30.161488"}
有关日期时间转换JSON的问题,也可看看这两篇文章:两种方法Python将DateTime序列化为JSON,编写自定义方法将日期时间转为JSON。
您可能对以下文章也感兴趣
- Python如何直接访问JSON嵌套键
- 两种方案 Python 解决unicode、utf-8编码问题
- Python将Unicode或非ASCII数据序列化为JSON原样字符串
- 4种方法使Python类JSON可序列化
- 5种方法Python将JSON转换为自定义Python对象/类
- 区别:Python json.load()和json.loads()读取JSON
- 5个示例介绍Python如何读、写操作JSON文件
标签: Python
- 站长推荐