【python】json模塊解析帶單引號的json字符串

如果遇到一個json字符串,裏頭的key或value是單引號包圍,直接用json.loads就會報錯,如下:

import json

json_str = "{'name':'like','age',27'}"
json.loads(json_str)

運行後報錯:

Traceback (most recent call last):
  File "E:\workspace\NegativeMonitor\NegativeMonitor\DownloadVideo\test_youtube.py", line 21, in <module>
    json.loads(video)
  File "E:\Anaconda3\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "E:\Anaconda3\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "E:\Anaconda3\lib\json\decoder.py", line 355, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

解決辦法:

json_str = "{'name':'like','age',27'}"
json.loads(json.dumps(eval(json_str )))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章