2017-03-06 59 views
-2

我目前正在研究一个python bottle应用程序,并且已经在Python中构建了一个类似于下面的数组。Python To JS使用JSON对象,解码问题

[{'text': 'aampm', 'size': 1}, {'text': 'absolutely', 'size': 1},... 

我使用json.dumps(),然后试图使用模板类似下面的值传递给前端将此添加到一个JSON对象:

return template('example', 
       word_cloud = word_cloud) 

在JavaScript区域,我使用下面的加载文件:

var cloud = JSON.parse({{word_cloud}}); 

但因为它返回列表像这和“'”与‘"’代替我得到的一个问题。

var cloud = JSON.parse([{"text": "aampm", "size": 1}, {"text" 

如何让这个它加载正确的格式 -

([{'text': 'word', 'size': 5}, {'text': 'cloud', 'size': 15}]) 
+1

是否声明'var cloud = JSON.parse({{word_cloud}});'作为Jinja2模板的一部分呈现?如果是这样,您可能需要使用['safe'](http://jinja.pocoo.org/docs/2.9/templates/#working-with-automatic-escaping)过滤器来过滤它(即{{word_cloud | safe }}')。 – metatoaster

+0

这不是“正确的格式”。 JSON使用双引号作为字符串分隔符。 – Goyo

+0

我正在尝试构建一个词云,它需要输入的格式为第三个代码集 - ([{'text':'word','size':5},{'text':'cloud ','size':15}])。我正在制作一个瓶子应用程序,并使用{{value}}传递给javascript部分。我尝试了{{word_cloud |安全}},并仍然得到以下 - VAR云= JSON.parse([{"大小":1,"文本":" aampm "},{"大小":1,... –

回答

0

让我们重写代码在 views.py

from django.http import JsonResponse 

def your_function(request): 
    result = [{'text': 'aampm', 'size': 1}, {'text': 'absolutely', 'size': 1},... 
    return JsonResponse(result, safe = False, status = 200) 

这会给你您的预期回应。

+0

这是一个瓶子应用程序我不确定这是否会工作,除非重新创建应用程序作为Django应用程序 –

+0

然后我完全错过了它无论如何如果你重新创建它在Django中,你可以使用这个。 –

+0

谢谢。作为最后的手段我可以做到这一点,但现在,我认为这将是一个简单的修复,一旦我找到了实际的修复:)。我在上面添加了GitHub的详细信息,如果你想看看我在做什么。 –