2012-03-30 7 views
6

En una vista de Django estoy generando un conjunto de datos o menos así:Convertir Python Ninguno tener JavaScript nula

data = [22, 23, 18, 19, 21, None, 22, 20] 

estoy pasando estos datos a una variable de JavaScript usando:

data_json = simplejson.dumps(data) 

Para uso en un guion de High Charts.

Desafortunadamente, JavaScript tropieza cuando encuentra el valor None porque en realidad lo que necesito es null. ¿Cómo puedo reemplazar mejor None con null, y dónde debo manejar esto - en la vista de Django o en el JavaScript?

+5

¿Qué versión está usando de simplejson? De acuerdo con la documentación, None debería convertirse a null automáticamente (ver http://simplejson.googlecode.com/svn/tags/simplejson-2.0.9/docs/index.html) –

Respuesta

19

Si está utilizando Python 2.6 o posterior, puede utilizar el incorporado en el módulo json:

>>> import json 
>>> json.dumps([1, 2, 3, None, 4]) 
'[1, 2, 3, null, 4]' 

Ver http://docs.python.org/library/json.html

+0

E incluso una versión actualizada de simplejson funcionaría también. – jdi

+0

Eso funcionó. No estoy seguro de por qué simplejson no lo hizo. ¿Alguna desventaja al usar json en comparación con simplejson en Django? –

+0

Ok, ahora simplejson parece funcionar para ... No estoy seguro de lo que estaba pasando, pero definitivamente estaba obteniendo None en mi json dump ayer –

Cuestiones relacionadas