如何在Google App Engine中解析JSON?
我想在Google App Engine(使用Python)中把一个JSON字符串解析成一个对象。你有什么推荐的办法吗?如果能有一些工具来编码或转换成字符串就更好了。你推荐的东西是内置的,还是需要我在应用中引入的库?它安全吗?谢谢。
6 个回答
6
要在你的应用里加入 simplejson 这个库吗?
22
谷歌的应用引擎现在支持 Python 2.7 版本。如果你在使用 Python 2.7,可以这样做:
import json
structured_dictionary = json.loads(string_received)
114
可以考虑使用 Django的json库,这个库是GAE自带的。
from django.utils import simplejson as json
# load the object from a string
obj = json.loads( string )
上面的链接里有Django序列化器的例子,另外这里有 simplejson的文档。
如果你想存储Python类的实例或者对象(而不是简单的列表、字符串、数字和字典的组合),那么你可能需要看看 pickle。
顺便提一下,如果你想在GAE上运行Django 1.0(而不是Django 0.96),可以在你的main.py里使用下面的调用,具体可以参考 这篇文章:
from google.appengine.dist import use_library
use_library('django', '1.0')
补充:Google App Engine 1.6.0及Python 2.7的原生JSON支持
从Google App Engine 1.6.0开始,你可以通过在 app.yaml
文件中添加 runtime: python27
来 使用Python 2.7运行环境,然后你就可以用 import json
来导入原生的JSON库。