¿Cómo puedo analizar JSON en Google App Engine?

Me gustaría analizar una cadena JSON en un objeto en Google App Engine (python). ¿Que recomiendas? Algo para codificar / estriar sería bueno también. ¿Está incorporado lo que recomienda o una biblioteca que debo incluir en mi aplicación? ¿Es seguro? Gracias.

Considere la posibilidad de usar la biblioteca json de Django , que se incluye con GAE.

from django.utils import simplejson as json # load the object from a string obj = json.loads( string ) 

El enlace anterior tiene ejemplos del serializador de Django, y aquí está el enlace para la documentación de simplejson .

Si está pensando en almacenar instancias u objetos de la clase Python (a diferencia de las composiciones de listas, cadenas, números y diccionarios), es probable que desee ver pickle .

Espero que eso ayude.

Por cierto, para que Django 1.0 (en lugar de Django 0.96) se ejecute en GAE, puede usar la siguiente llamada en su main.py, por este artículo :

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

Edición: compatibilidad nativa con JSON en Google App Engine 1.6.0 con Python 2.7

A partir de Google App Engine 1.6.0, puede usar el tiempo de ejecución de Python 2.7 agregando runtime: python27 en app.yaml , y luego puede importar la biblioteca JSON nativa con import json .

Google App Engine ahora es compatible con Python 2.7. Si usa python 2.7, puede hacer lo siguiente:

 import json structured_dictionary = json.loads(string_received) 

¿Incluir la biblioteca simplejson con su aplicación?

Esta es una pregunta antigua, pero pensé que daría una respuesta actualizada y más detallada. Para aquellos que aterrizan aquí ahora, es casi seguro que estás usando Python 2.6 o superior, así que puedes usar el módulo json incorporado para Python 2 (o para Python 3 , ya que Google recientemente agregó soporte para Python 3 en GAE). Importar es tan fácil como import json . Aquí hay algunos ejemplos de cómo usar el módulo 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}' 

Si está utilizando una versión anterior de python, siga la respuesta de @Brian M. Hunt.

De nuevo, aquí está la página de documentación para el módulo json para Python 2 , y aquí está para Python 3 .

Si está utilizando Python2.6 o superior, he utilizado con éxito la función jload .load incorporada. De lo contrario, simplejson funciona en 2.4 sin dependencias.

Mira la sección de python de json.org . El soporte de biblioteca estándar para JSON comenzó en Python 2.6, que creo que es más nuevo de lo que proporciona el motor de la aplicación. Tal vez una de las otras opciones enumeradas?