我如何parsingGoogle App Engine中的JSON?
我想parsing一个JSONstring到Google App Engine(python)下的一个对象。 你有什么build议? 编码/串化的东西也不错。 是你build议build立,还是我必须包括在我的应用程序库? 它安全吗? 谢谢。
考虑使用包含在GAE中的Django的json库 。
from django.utils import simplejson as json # load the object from a string obj = json.loads( string )
上面的链接有Django序列化器的例子,这里是simplejson文档的链接。
如果您正在查看存储Python类实例或对象(而不是列表,string,数字和字典的组合),那么您可能要查看一下pickle 。
我希望有帮助。
顺便提一句,要获得在GAE上运行的Django 1.0(而不是Django 0.96),您可以在本文中的main.py中使用以下调用:
from google.appengine.dist import use_library use_library('django', '1.0')
编辑:使用Python 2.7的Google App Engine 1.6.0中的本地JSON支持
从Google App Engine 1.6.0开始,可以通过在app.yaml
添加runtime: python27
来使用Python 2.7运行 runtime: python27
,然后可以使用import json
导入本机JSON库。
Google App Engine现在支持python 2.7。 如果使用Python 2.7,您可以执行以下操作:
import json structured_dictionary = json.loads(string_received)
包括simplejson库与您的应用程序?
如果您使用Python2.6或更高版本,我已经成功地使用了内置的json .load函数。 否则, simplejson工作在2.4没有依赖关系。
这是一个古老的问题,但我想我会给一个更新,更详细的答案。 对于现在在这里登陆的人来说,你几乎可以肯定地使用Python 2.6或更高版本,所以你可以使用Python 2的内置json模块(或者Python 3 ,因为Google最近在GAE上添加了对Python 3的支持)。 导入和import json
一样简单。 以下是一些如何使用json模块的例子:
import json # parse json_string into a dict json_string = '{"key_one": "value_one", "key_two": 1234}' json_dict = json.loads(json_string) # json_dict: {u'key_two': 1234, u'key_one': u'value_one'} # generate json from a dict json_dict = {'key': 'value', 'key_two': 1234, 'key_three': True} json_string = json.dumps(json_dict) # json_string: '{"key_two": 1234, "key": "value", "key_three": true}'
如果您使用的是较旧版本的python,请坚持@Brian M. Hunt的回答。
再次,这里是Python 2的json模块的文档页面,这里是Python 3 。
看看json.org的python部分。 JSON的标准库支持从Python 2.6开始,我相信它比应用程序引擎提供的更新。 也许列出其他选项之一?