Как я могу разобрать JSON в Google App Engine?

Я хотел бы проанализировать строку JSON в объекте под Google App Engine (python). Что вы порекомендуете? Кое-что, чтобы кодировать/строчить, было бы неплохо. Это то, что вы рекомендуете встроить, или библиотеку, которую я должен включить в свое приложение? Это безопасно? Спасибо.

Ответ 1

Рассмотрите возможность использования Django json lib, который включен в GAE.

from django.utils import simplejson as json

# load the object from a string
obj = json.loads( string )

В приведенной выше ссылке есть примеры сериализатора Django, и здесь ссылка на simplejson documentation.

Если вы хотите хранить экземпляры или объекты класса Python (в отличие от композиций списков, строк, чисел и словарей), вы, вероятно, захотите посмотреть pickle.

Я надеюсь, что это поможет.

Кстати, чтобы Django 1.0 (вместо Django 0.96) работал на GAE, вы можете использовать следующий вызов в main.py, за в этой статье:

from google.appengine.dist import use_library
use_library('django', '1.0')

Изменить: поддержка Native 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.

Ответ 2

Google App Engine теперь поддерживает python 2.7. Если вы используете python 2.7, вы можете сделать следующее:

import json
structured_dictionary = json.loads(string_received)

Ответ 3

Включите simplejson с вашим приложением?

Ответ 4

Если вы используете Python2.6 или выше, я с успехом использовал встроенную функцию json.load, В противном случае simplejson работает на 2.4 без зависимостей.

Ответ 5

Это старый вопрос, но я подумал, что дам обновленный, более подробный ответ. Для тех, кто приземляется здесь сейчас, вы почти наверняка используете 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.

Ответ 6

Посмотрите раздел python json.org. Стандартная поддержка библиотеки для JSON началась с версии python 2.6, которая, по моему мнению, новее, чем обеспечивает механизм приложения. Может быть, один из других вариантов указан?