2017-04-06 40 views
1

我正在向我的django模板提供一個對象列表。我有一個條件,我在哪裏訪問對象的領域之一,在模板是包含像{u'option': False, u'name': u'test string'}有沒有辦法在javascript中使用相當於json.dumps的東西

我們通常用json.dumps這在python將其轉換爲{"option": False, "name": "test string"},這是正確的JSON u'字符的JSON場我想要有我需要訪問這樣的字符串在我的JavaScript。

有沒有一種簡單的方法來做到這一點的JavaScript?我想避免使用正則表達式來去除u' and '並替換爲"

對不起,如果這是非常基本的。不太瞭解JavaScript。

或者有沒有辦法只是編碼我的對象字段to_json莫名其妙地從python?

回答

2

相當於Python的json.dumps()在JavaScript是JSON.stringify()爲:

var jsonstr = JSON.stringify(someVariable); 

有效的JSON不包含像u'something',只有"something"結構。如果你真的有這樣的字符串,它可能是通過repr()或類似的Python。

如果你想Python對象爲JavaScript對象轉換從各自的環境中,在Python會將其轉換爲使用json.dumps()一個JSON編碼字符串,字符串傳遞給JavaScript環境,然後用JSON.parse()轉換他們回到對象。 (請記住,除了一些基本類型,例如字符串,浮點數,布爾值,數組和鍵值結構之外,JSON並不理解任何東西。例如,嘗試傳輸一個Python對象可能會讓你字符串或集合鍵:值對,而不是實際的JavaScript Date對象。)

+0

感謝您的回答。但我只是去更新我從django提供的服務。它更乾淨,更容易做到。因爲JSON.stringify不會從Json字段中刪除'u''。所以不得不在Python中處理它。 –

+0

數組/列表上的警告,它們不等價。我發現這個差異與python在列表上的漂亮打印有關。 (當Javascript不支持時,Python會默認添加一些空格) – ThePhi

相關問題