傳圖片時出現請對上傳介面返回json字元怎?

傳圖片時出現請對上傳介面返回json字元怎?使用者70583890603662019-09-15 00:23:17

這種不算不正常吧,\u60e7表示的是採用Unicode形式表示一個特殊的字元,當JSON解析器解析到這裡的時候,它就知道這其實只得是個漢字。

沒有接觸過django, 根據

Google Groups

這個連結裡的意思,可能是django強制將輸出的json以ascii編碼的形式傳送的緣故,也就是說客戶端接收到的是\, u, 6, 0, e, 7這幾個字母和符號,共6個位元組,JSON解析器根據這六個字母就能推出這個漢字了。而如果django沒有強制以ascii編碼的話,按照現在網路世界流行的utf-8編碼,客戶端就會接收到3個位元組的資料,由於已經知道了編碼方式,它同樣能反推出來這個漢字。

所以說這種顯示是挺正常的,只不過我們看不懂而已。在瀏覽器上,如果用的是chrome瀏覽器,或者firefox下裝了firebug的話,都能很清楚看到這個json的“中文”形式。

言歸正傳,既然知道產生你所說現象的原因是因為

django強制將輸出的json以ascii編碼的形式傳送

這個原因,我們將它禁止了就行了。具體方法可能就是

@隋柯西

同學所說的那樣,前面提到的那個連結裡討論的也是這個問題,有個回答的人他給出了另外個地址

JSONRenderer that doesn‘t force ascii

, 這或許跟你想知道的答案有很大的相關性,你可以再仔細研究研究。