如何使用simplejson来序列化和维护属性?
对于包含这两个键值对的字典:
str = StringProperty
time = DateTimeProperty
我想将其序列化为 JSON,将其存储在数据存储中,然后获取它,并将其反序列化为原始属性。
For a dictionary containing these two key-value pairs:
str = StringProperty
time = DateTimeProperty
I want to serialize it to JSON, store it in the Datastore, and then fetch it, and deserialize it into the original properties.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的值是字符串,这很简单:
但是,如果值是来自自定义类(例如 Google App Engine 属性类)的对象,则它们不可 JSON 序列化。
JSON 仅序列化简单数据类型,例如整数/浮点数字、布尔值、字符串、列表/元组和字典。 (有关更多详细信息,请参阅 http://www.json.org/。)
为了具有 JSON 可序列化值,您需要定义一种方法将它们转换为简单数据类型。例如,将对象转换为包含类名和重建它们所需的参数的元组。
This is simple if your values are strings:
However, if the values are objects from custom classes (such as the Google App Engine Property classes), they are not JSON serializable.
JSON only serializes simple data types, such as integer/float numbers, booleans, strings, lists/tuples and dictionaries. (See http://www.json.org/ for further details.)
In order to have JSON serializable values, you need to define a way to convert them to simple data types. For example, transforming objects to a tuple containing the class name and the arguments necessary to rebuild them.
尝试这样做:
Try to do it this way: