Я хотел бы преобразовать строку JSON в объект в Google App Engine (python). Что вы порекомендуете? Было бы неплохо что-то кодировать / преобразовывать в строку. Что вы рекомендуете встроить, или библиотеку, которую я должен включить в свое приложение? Это безопасно? Благодарю.
python
json
google-app-engine
Nogwater
источник
источник
Ответы:
Рассмотрите возможность использования библиотеки json lib от Django , которая входит в состав GAE.
from django.utils import simplejson as json # load the object from a string obj = json.loads( string )
По ссылке выше есть примеры сериализатора Django, а здесь - ссылка на документацию simplejson .
Если вы хотите сохранить экземпляры или объекты классов Python (в отличие от композиций списков, строк, чисел и словарей), вы, вероятно, захотите взглянуть на pickle .
Надеюсь, это поможет.
Между прочим, чтобы запустить Django 1.0 (вместо Django 0.96) в GAE, вы можете использовать следующий вызов в main.py согласно этой статье :
from google.appengine.dist import use_library use_library('django', '1.0')
Изменить: встроенная поддержка JSON в Google App Engine 1.6.0 с Python 2.7
На Google App Engine 1.6.0, вы можете использовать среду выполнения Python 2.7 , добавив
runtime: python27
вapp.yaml
, а затем вы можете импортировать родную библиотеку JSON сimport 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 недавно добавил поддержку Python 3 в GAE). Импорт так же просто, как
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.
Опять же, вот страница документации для модуля json для Python 2 , а вот она для Python 3 .
источник
Если вы используете Python2.6 или выше, я успешно использовал встроенную функцию json .load. В противном случае simplejson работает на 2.4 без зависимостей.
источник
Взгляните на раздел python на json.org . Поддержка стандартной библиотеки для JSON началась в python 2.6, который, как мне кажется, новее, чем то, что предоставляет движок приложения. Может быть, один из других перечисленных вариантов?
источник