單引號在Django的模板,我已經打印出來的數據是這樣的:JSON解析 - 內部名稱
P.place = '{{place.json|safe}}';
然後在JavaScript文件我配對會這樣:
place = JSON.parse(P.place);
一切都很好像數據:
{"category": "Cars", "name": "Z"}
因爲字符串看起來像:
P.place = '{"category": "Cars", "name": "Z"}'
所以,我可以使用JSON.parse方法巫婆接受字符串作爲輸入解析它。
問題是,當我得到的數據這樣的:
{"category": "Cars", "name": "Wojtek's Z"}
因爲比JSON解析器輸入字符串看起來像這樣:
'{"category": "Cars", "name": "Wojtek'
我無法逃避JSON字符串內的單引號,因爲那時JSON字符串變得無效。出於同樣的原因,我無法用JSON字符串中的double和escape雙引號替換周圍的引號。
我的解決方案看起來像這樣:
在HTML模板:
P.place = {{place.json|safe}};
在JavaScript
var place = JSON.stringify(P.place);
place = JSON.parse(place);
它的工作原理
然後,但它並不是最佳的解決方案恕我直言。
如何解決更多的菜刀方式這個問題?
你必須在JSON中引用撇號,這是沒有辦法的。但是,如果使用「\」定義對象,通常可以將其轉義。或者,如果你願意,unicode escape \ u0027(我認爲)。 – StaxMan
你不能做到這一點,看看jsonlint.com和json.org –
你不能做什麼?查看json規範。 – StaxMan