前言
這篇是我在透過 request 發送請求時,拿回 json 時發生的問題,
出現了以下錯誤:
Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
問題原因
其實後半段的 line 1 column 2 (char 1) 也明確的寫了,
那讓我們仔細檢查一下內容,發現這個問題,如果是第一次碰到也有點難發現…
讀者可以先仔細看這問題,以下為範例:
{
'key':'value'
}
與
{
"key":"value"
}
有找到問題了嗎?
最主要就是 「’ ‘」、「” “」的差別導致了這個錯誤 (其實英文提示的 double quotes 也是這個意思啦)
解法
因為要使用 json.loads 需要符合他規定的格式,
因此我們在多做一步,「json_str.replace(“\'”, “\””)」,主要是取代單引號為雙引號。
import json
json_str.replace("\'", "\"")
my_dict = json.loads(json_str)