技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

Python使用DjangoJSONEncoder或json_util把日期时间序列化为JSON

作者:admin    时间:2021-12-31 10:14:40    浏览:

Python把日期时间序列化为JSON的方法有很多,前面分别介绍过两种方法Python将日期时间DateTime序列化为JSON编写自定义方法将日期时间转为JSON,本文中,将介绍Python如何使用DjangoJSONEncoder或json_util把日期时间序列化为JSON。

 v
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  
  • IT热文
  • 站长推荐