2009-07-29 8 views
6

Je reçois un flux JSON depuis un serveur et aujourd'hui je le convertis en objet python et donc en vue django. Nous faisons maintenant une mise à jour de notre site. dans lequelmeilleure façon de gérer JSON dans django

  1. le navigateur client doit analyser JSON en utilisant jQuery
  2. aussi nous aurons une application Adobe-air qui consommera JSON directement

Cependant, je ne suis pas tellement envie d'exposer mon arrière-plan serveur directement au navigateur/client adobe. Quelle est la meilleure façon d'aller via django? une application django existante?

concernant django-novice

Répondre

7

Vous pouvez utiliser certains built-in elements of Django mais je l'ai toujours trouvé que SimpleJSON rend les choses beaucoup plus facile.

Pourquoi? Avec la sérialisation directe, vous ne voulez pas tout montrer. Donc, avec les méthodes intégrées, vous devez couper beaucoup. Avec SimpleJSON, vous avez construit une dict, remplissez-la avec ce que vous voulez montrer et pompez-la dans la librairie SimpleJSON. Je trouve l'inclusion beaucoup plus sûre que l'exclusion quand il s'agit d'exposer des API. Il est également beaucoup plus polyvalent pour consommer des données car votre client ne sera pas un site django, c'est une application AIR avec ses propres idées sur la façon de formater les données (même dans une spécification comme JSON il peut et probablement seront des différences).

Oh, et n'oubliez pas qu'il n'y a pas de type de date dans JSON. (Je ne mentionne parce que cela me causait une douleur dans le passé)

Edit: (Merci Cide) Django simplejson navires dans django.utils.simplejsonmais il pourrait pas être là pour toujours. Quoi qu'il en soit, vous pouvez le télécharger séparément à partir de Pypi

+6

SimpleJSON est réellement empaqueté avec django, dans 'django.utils.simplejson'. – Cide

+2

Vrai mais il y a eu plusieurs appels pour le supprimer de django. Un exemple: http://www.mail-archive.com/[email protected]/msg19537.html Il n'y a pas de date pour le supprimer (ou la confirmation qu'il reste) – Oli

+0

Ah, je n'avais pas vu ça. Merci de l'avoir signalé. – Cide

Questions connexes