mar*_*jop 4 python django django-serializer
我正在使用Django json库对从Django游标中获取的数据进行编码,但是我看到反序列化后的日期时间现在是unicode类型。简单的例子:
import datetime
from django.core.serializers.json import json, DjangoJSONEncoder
today = datetime.datetime.now()
encoded = json.dumps(today, cls=DjangoJSONEncoder)
type(json.loads(encoded))
>> unicode
Run Code Online (Sandbox Code Playgroud)
如果我没记错的话,应该尊重变量类型。然后,我想也许有类似DjangoJSONDecoder的东西,但是什么也没有。我究竟做错了什么?这是预期的行为吗?
您认为应该怎么办?关键是JSON没有日期/时间的本机类型,这就是Django序列化程序将日期时间转换为字符串的原因。但是,当然,一旦它们是字符串,那么它们就是字符串。反序列化器无法知道它们曾经是日期时间。你可以,如果你喜欢,写一个自定义的进一步解串器,试图调用strptime每个字符串,看它是否“应该”是一个日期时间; 但是开销会很大,并且(取决于您的数据)可能会受到误报的影响。
| 归档时间: |
|
| 查看次数: |
2107 次 |
| 最近记录: |