gpt4 book ai didi

python - 如何使用 JSON.loads 转换为 Python 日期时间对象?

转载 作者:IT老高 更新时间:2023-10-28 12:51:05 28 4
gpt4 key购买 nike

我有一个 JSON 对象的字符串表示形式。

dumped_dict = '{"debug": false, "created_at": "2020-08-09T11:24:20"}'

当我用这个对象调用 json.loads 时;

json.loads(dumped_dict)

我明白了;

{'created_at': '2020-08-09T11:24:20', 'debug': False}

这里没有错。但是,我想知道是否有办法将上面带有 json.loads 的对象转换成这样的:

{'created_at': datetime.datetime(2020, 08, 09, 11, 24, 20), 'debug': False}

简而言之,我们是否能够将日期时间字符串转换为实际的 datetime.datetime 对象,同时调用 json.loads?

最佳答案

到目前为止我的解决方案:

>>> json_string = '{"last_updated": {"$gte": "Thu, 1 Mar 2012 10:00:49 UTC"}}'
>>> dct = json.loads(json_string, object_hook=datetime_parser)
>>> dct
{u'last_updated': {u'$gte': datetime.datetime(2012, 3, 1, 10, 0, 49)}}


def datetime_parser(dct):
for k, v in dct.items():
if isinstance(v, basestring) and re.search("\ UTC", v):
try:
dct[k] = datetime.datetime.strptime(v, DATE_FORMAT)
except:
pass
return dct

有关使用 object_hook 的进一步引用:JSON encoder and decoder

在我的情况下,json 字符串来自对我的 REST API 的 GET 请求。只要输入字符串符合 DATE_FORMAT 即:

DATE_FORMAT = '%a, %d %b %Y %H:%M:%S UTC'

正则表达式模式可能应该进一步完善

PS:如果您想知道,json_string 是一个 MongoDB/PyMongo 查询。

关于python - 如何使用 JSON.loads 转换为 Python 日期时间对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793448/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com