2017-03-06 15 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的詳細信息,如果你想看看我在做什麼。 –