2012-03-30 46 views
6

在Django视图我生成一个数据集是这样的:转换的Python没有为JavaScript空

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

我使用通过这个数据到JavaScript变量:

data_json = simplejson.dumps(data) 

对于使用在高图表脚本中。

不幸的是,JavaScript在遇到None值时磕磕绊绊,因为实际上我需要的是null。我怎么能最好用null替换None,我应该在哪里处理这个问题 - 在Django视图中还是在JavaScript中?

+5

?根据文档,None应该自动转换为null(请参阅http://simplejson.googlecode.com/svn/tags/simplejson-2.0.9/docs/index.html) – 2012-03-30 16:56:06

回答

19

如果你正在使用Python 2.6或更高版本,可以使用内置JSON模块:

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

见您使用simplejson的什么版本http://docs.python.org/library/json.html

+0

甚至simplejson的更新版本也可以工作以及。 – jdi 2012-03-30 17:04:58

+0

工作。不知道为什么simplejson没有这样做。使用json而不是Django中的simplejson有什么缺点? – 2012-03-30 17:06:47

+0

好了 - 现在simplejson似乎工作......不知道whant发生了什么,但我昨天肯定在我的JSON转储中获得无 – 2012-03-30 17:10:29