Me gustaría analizar una cadena JSON en un objeto en Google App Engine (python). ¿Que recomiendas? Algo para codificar / secuenciar también sería bueno. ¿Lo que recomiendan está integrado o es una biblioteca que tengo que incluir en mi aplicación? Es seguro? Gracias.
python
json
google-app-engine
Nogwater
fuente
fuente
Respuestas:
Considere 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 de arriba tiene ejemplos del serializador de Django, y aquí está el enlace para la documentación de simplejson .
Si está buscando almacenar instancias u objetos de la clase Python (a diferencia de composiciones de listas, cadenas, números y diccionarios), probablemente quiera mirar 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, según este artículo :
from google.appengine.dist import use_library use_library('django', '1.0')
Editar: compatibilidad con JSON nativo en Google App Engine 1.6.0 con Python 2.7
A partir de Google App Engine 1.6.0, se puede utilizar el tiempo de ejecución de Python 2.7 mediante la adición
runtime: python27
deapp.yaml
, y luego se puede importar la biblioteca JSON nativo conimport json
.fuente
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)
fuente
¿Incluir la biblioteca simplejson con su aplicación?
fuente
Esta es una pregunta antigua, pero pensé en dar una respuesta actualizada y más detallada. Para aquellos que aterrizan aquí ahora, es casi seguro que esté usando python 2.6 o superior, por lo que puede 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.
Nuevamente, aquí está la página de documentación del módulo json para Python 2 , y aquí está para Python 3 .
fuente
Si está usando Python2.6 o superior, he usado con éxito la función json .load incorporada. De lo contrario, simplejson funciona en 2.4 sin dependencias.
fuente
Mire la sección de python de json.org . El soporte de la biblioteca estándar para JSON comenzó en python 2.6, que creo que es más nuevo que lo que proporciona el motor de la aplicación. ¿Quizás alguna de las otras opciones enumeradas?
fuente