2016-03-24 111 views
1

我试图获取JSON文件到脚本。我似乎无法能够从文件系统服务就得到它那里,所以我所做的JSON数据返回页面像这样一个观点:JSON与JS与Django:SyntaxError:丢失:后属性ID

def graph(request, d):     #d.data is the file in the database 
    data = json.load(d.data) 
    return render(request, 'temp/template.html', {'json': data}) 

在我的JS:

var j = {{ json|safe }}; 

当我看看源的JS它显示这个格式的数据:

{u'people': [{u'name': u'steve'}, {u'name': u'dave'}]} 

哪个我读不应该是一个问题。我没有任何名为'id'的变量,但是我在标题中指出了JS的提供的行。

这是为什么?另外我如何在脚本中使用JSON中的对象?

+1

'u'name''在JS中无效。它应该没有你。 – jcubic

+0

这是因为Django返回一个unicode数组,你知道任何解析成有效的JS或让视图返回它的任何方式吗? –

回答

0

使用simplejson解决:

import simplejson as json 

和一切如上。这是因为内置的json.dumps返回一个unicode数组,如:

{u'people': [{u'name': u'steve'}, {u'name': u'dave'}]} 

当使用simplejson应该不是一个问题。

+0

真的,没有。 simplejson的输出和json是一样的,你的问题是你实际上没有调用'json.dumps()'。 –

+0

我曾经有过不同的错误,比如xyz不可序列化 –