我正在構建一個使用json-rpc與django後端進行通信的應用程序。到目前爲止,所有工作都很好。然而,我發現發送「 」的異常。據我所知,請求工作正常,但Django嚴重解釋響應。json-rpc格式錯誤的請求與
請求::
{"jsonrpc":"2.0","id":"1","method":"test","params":
{"id":"80","name":"tests","introduction":"hello there"}}
Django的接收:
<QueryDict:u'{"jsonrpc":"2.0","id":"1","method":"test","params":
{"id":"80","name":"tests","introduction":"hello ': [u''], u'nbsp': [u''], u'there"}}': [u'']}>
預期響應:
<QueryDict: {u'{"jsonrpc":"2.0","id":"1","method":"test","params":
{"id":"80","name":"tests","introduction":"hello there"}}': [u'']}>
好像django的解釋下面我已經再現的簡化請求和響應&和;作爲特殊字符,因此會在其request.POST變量中創建一個意外字典。
我需要做些什麼來確保json字符串不會變形?我曾嘗試使用php htmlspecialchars()方法對其進行編碼,但由於不會刪除'&',所以問題仍然存在。
任何幫助將不勝感激。
解決方法:如果它只是nbsp,那麼在那裏使用原始的UTF-8字符。 – mario 2011-04-14 06:43:12
感謝您的建議。我已經嘗試過了,但我認爲django在獲得機會之前會轉換角色。到目前爲止,我只是手動刪除了空格,現在對我來說很有用。 – Gevious 2011-05-10 07:52:50
默認字符集是UTF-8,除非您在設置中指定其他內容。 http://docs.djangoproject.com/en/dev/ref/settings/#default-charset。 – 2011-05-10 07:58:45