Python 在使用 json.loads() 方法时会报一个标题提到的错误,这是因为 JSON 格式的问题。

首先 JSON 格式数据本身规定字符串必须使用双引号来包裹,而 loads() 方法又没有做这方面的处理,想要解决 BUG 笨点办法就是用双引号替换单引号

当然更好的办法就是使用 ast 模块

1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author: wxnacy([email protected])

import ast

text = "{'name': 'wxnacy'}"
res = ast.literal_eval(text)
print(res) # => {'name': 'wxnacy'}
03-16 23:49