【Python】問題解決:Expecting property name enclosed in double quotes

前言

這篇是我在透過 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)

Reference

Licensed under CC BY-NC-SA 4.0