1. 程式人生 > >Django: Expecting property name enclosed in double quotes

Django: Expecting property name enclosed in double quotes

客戶端請求伺服器時,django報錯。

經對比之後發現是請求的url多了斜槓。(涉密就不完全展示了)

觀察之後發現問題如下:

url裡面需要傳入一個Dictionary<string, object>,需要主要的是,字典中的數字和字母在序列化的時候是不一樣的。

也就是說:在url中,可以用數字也可以用字母,最終都會變成字串。但是在字典中,由於涉及序列化的問題,必須和後端伺服器完全匹配。否則會報錯。

例如:

這個是給字典賦值整型,是正確的請求方式(order_num伺服器上識別為數字)

info={\"name\":\"計算思維\",\"course_num\":\"sd01xxxxxx\",\"order_num\":2

}

這個是給字典賦值字串,是錯誤的請求方式:

&info={\"name\":\"計算思維\",\"course_num\":\"sd01xxxxxx\",\"order_num\":\"100\"}

假如還是繼續報錯,很可能的原因是URL編碼。將序列化之後的dic,url編碼之後即可。