2009-07-29 23 views
6

obtengo un feed JSON de un servidor y hoy lo convierto en objeto python y, por lo tanto, en django view. Ahora estamos haciendo una actualización de nuestro sitio. mediante el cualla mejor manera de lidiar con JSON en django

  1. el cliente navegador debe analizar JSON usando jQuery
  2. también vamos a tener una aplicación de Adobe aire que consumirá JSON directamente

Sin embargo no estoy tan interesado en exponer mi back-end servidor directamente al navegador/cliente de adobe. ¿Cuál es la mejor forma de acceder a través de django? cualquier aplicación django existente?

respecto django-novato

Respuesta

7

Se pueden usar cierta built-in elements of Django pero siempre he encontrado que SimpleJSON hace las cosas mucho más fácil.

¿Por qué? Con la serialización directa, no quiere mostrar todo. Entonces, con los métodos integrados, tienes que cortar mucho. Con SimpleJSON, construiste un dict, lo llenaste solo con lo que quieres que se muestre y lo bombeas a través de SimpleJSON lib. Considero que la inclusión es mucho más segura que la exclusión cuando se trata de exponer las API.

También es mucho más versátil para consumir datos ya que su cliente no será un sitio django, es una aplicación AIR con sus propias ideas sobre cómo formatear datos (incluso dentro de una especificación como JSON puede y probablemente serán diferencias).

Ah, y recuerde que no hay un tipo de fecha en JSON. (Sólo lo menciono porque me causó dolor en el pasado)

Editar: (gracias Cide) Django barcos simplejson en django.utils.simplejsonpero que podría no estar allí para siempre. De todos modos, puede descargarlo por separado desde Pypi

+6

SimpleJSON está realmente empaquetado con django, en 'django.utils.simplejson'. – Cide

+2

Es cierto, pero ha habido varias llamadas para eliminarlo de django. Un ejemplo: http://www.mail-archive.com/[email protected]/msg19537.html No hay fecha establecida para eliminarlo (o confirmación de que se está quedando) – Oli

+0

Ah, no había visto eso. Gracias por mencionarlo. – Cide

Cuestiones relacionadas