2024-04-25 17:40:07 发布
网友
我正在客户机和Django服务器之间发送信息,我想使用JSON来实现这一点。我正在发送简单的信息-字符串列表。我试着用django.core.serializers,但是当我用的时候,我得到了
django.core.serializers
AttributeError: 'str' object has no attribute '_meta'
这似乎只能用于Django对象。如何序列化简单的Python对象?
是的,但那你怎么处理django对象呢?简单的json往往会让他们窒息。
如果对象是单独的模型对象(例如,不是queryset),我偶尔会存储模型对象类型和pk,如下所示:
seralized_dict = simplejson.dumps(my_dict, default=lambda a: "[%s,%s]" % (str(type(a)), a.pk) )
要反序列化,可以重建model.objects.get()引用的对象。如果您对dict所存储类型的对象详细信息感兴趣,这将不会有帮助,但如果您只需要知道涉及的是哪个对象,这将非常有效。
如果使用Python2.5,则可能需要导入simplejson:
simplejson
try: import json except ImportError: import simplejson as json
您可以使用纯Python来执行此操作:
import json list = [1, 2, (3, 4)] # Note that the 3rd element is a tuple (3, 4) json.dumps(list) # '[1, 2, [3, 4]]'
是的,但那你怎么处理django对象呢?简单的json往往会让他们窒息。
如果对象是单独的模型对象(例如,不是queryset),我偶尔会存储模型对象类型和pk,如下所示:
要反序列化,可以重建model.objects.get()引用的对象。如果您对dict所存储类型的对象详细信息感兴趣,这将不会有帮助,但如果您只需要知道涉及的是哪个对象,这将非常有效。
如果使用Python2.5,则可能需要导入
simplejson
:您可以使用纯Python来执行此操作:
相关问题 更多 >
编程相关推荐