python
  • json
  • django
  • unicode
  • 2014-06-25 24 views 1 likes 
    1

    我是相當新的JavaScript和這樣的,所以我不知道這是否會措辭正確,但我想解析一個JSON對象,我從數據庫中讀取。我使用Django的Python腳本發送的HTML頁面的變量的變量看起來哪裏像這樣:JSON對象解析和如何轉義Unicode字符

    { 
        "data":{ 
        "nodes":[ 
         { 
         "id":"n0", 
         "label":"Redditor(user_name='awesomeasianguy')" 
         }, 
         ... 
        ] 
        } 
    } 
    

    目前,響應的樣子:

    "{u'data': {u'nodes': [{u'id': u'n0', u'label': u"Redditor(user_name='awesomeasianguy')"}, ... 
    

    我試着拿出像你的人物&#39與replaceAll類型的聲明,如下所示。然而,這不是一個簡單的解決方案,似乎有一個更好的方法來逃避這些角色。

    var networ_json = JSON.parse("{{ networ_json }}".replace(/u'/g, '"').replace(/'/g, '"').replace(/u"/g, '"').replace(/"/g, '"')); 
    

    如果對我沒有用的方法,甚至使用這個工具的任何建議,將不勝感激。

    +0

    你應該表現出你是如何得到這些數據,你怎麼是將它傳遞給模板,以及如何在模板中輸出它。 –

    +0

    我重新打開這個問題的原因是,問題不在於解析來自JSON的字符,而在於首先防止它們被創建。爲了解決這個問題,正如我在上一個問題中所說的,我們需要知道如何輸出JSON。 –

    回答

    1

    使用模板過濾器「|安全」禁用逃逸一樣,

    var networ_json = JSON.parse("{{ networ_json|safe }}"; 
    

    閱讀上在這裏:https://docs.djangoproject.com/en/dev/ref/templates/builtins/#safe

    +0

    謝謝。這幾乎就是我想要的,但是在幾個替換語句取出'u'字符之後,我得到一個語法錯誤:意外標識符。有任何想法嗎? – jayho

    +0

    請記住,在將對象標記爲安全之後,您無法再訪問它的屬性,例如{{networ_json.foo}}。也許這就是爲什麼你會得到這個錯誤?也許你可以給我一個pastebin看看? – rihardsp

    相關問題