如何将JSON反序列化回db.Model创建的对象

时间:2010-09-15 04:05:15

标签: json google-app-engine serialization

我想做这样的问题,但是我想要反序列化而不是序列化。 How to serialize db.Model objects to json?

这是否有图书馆?我正在运行Google App Engine,我从appengine-rest-server(http://code.google.com/p/appengine-rest-server /)获取了一个JSON字符串。

我在这里用不同的方式问了这个问题(How to inspect mystery deserialized object in Python),所以我希望通过对上述人的帖子进行类比反转,我会更清楚我要做什么。如果JSON不起作用,我可以使用XML代替。

1 个答案:

答案 0 :(得分:2)

您应该能够通过将反序列化的JSON作为kwargs传递给构造函数来实例化您所需模型的实例。请查看google.appengine.ext.db (__init__.py) > Model.__init__ method

中的SDK源代码

例如你可以这样做:

from myapp.models import MyModel

results = '{"firstname": "Neal", "lastname": "Walters"}'
data = json.loads(results)

instance = MyModel(**data)

这假设您通过JSON返回的字典中的键恰好与字段名称匹配,我猜他们应该这样做,如果JSON是从模型最初自动生成的。