簡體   English   中英

如何在Google App Engine中解析JSON?

[英]How can I parse JSON in Google App Engine?

我想將JSON字符串解析為Google App Engine(python)下的對象。 您有什么推薦的嗎? 編碼/字符串化的東西也會很好。 您推薦內置的內容,還是我必須在我的應用中包含的庫? 它安全嗎? 謝謝。

考慮使用Django的json lib ,它包含在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')

編輯:使用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庫?

這是一個老問題,但我想我會給出一個更新,更詳細的答案。 對於那些現在登陸的人來說,你幾乎肯定會使用python 2.6或更高版本,所以你可以使用內置的json模塊用於Python 2 (或者用於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模塊的doc頁面,這里是Python 3

如果您使用的是Python2.6或更高版本,我已經成功使用了內置的json .load函數。 否則, simplejson在沒有依賴關系的2.4上工作。

看看json.org的python部分。 JSON的標准庫支持從python 2.6開始,我認為它比app引擎提供的更新。 也許列出了其他選項之一?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM