json.decoder.JSONDecodeError:要求属性名用双引号括起来:第2行第2列(字符3)



我知道这个问题已经回答了,但我不知道错误在我的案例中的位置。

这是我的代码:

import json
json_data = """
{
'position1': '516, 440',
'position2': '971, 443',
'position3': '1186, 439',
'position4': '1402, 441',
'position5': '1630, 449',
'position6': '299, 681',
'position7': '518, 684',
'position8': '736, 691',
'position9': '739, 431'
}
"""
data = json.loads(json_data)
print(data)

我不太喜欢处理json文件,所以如果这是一个真正的转储错误,请不要责怪我。

不要使用三引号"""。相反,使用带有json.dumps()的字典,这样值中的逗号就不会被误解为项目之间的逗号。

import json
json_data = {
'position1': '516, 440',
'position2': '971, 443',
'position3': '1186, 439',
'position4': '1402, 441',
'position5': '1630, 449',
'position6': '299, 681',
'position7': '518, 684',
'position8': '736, 691',
'position9': '739, 431'
}
data = json.dumps(json_data)
print(data)

如果您使用三重引号,这将适用于

json_data = json_data.replace("'", '"')
data = json.loads(json_data)
print(data)

试试这个

import json
json_data = {
'position1': '516, 440',
'position2': '971, 443',
'position3': '1186, 439',
'position4': '1402, 441',
'position5': '1630, 449',
'position6': '299, 681',
'position7': '518, 684',
'position8': '736, 691',
'position9': '739, 431'
}
data = json.dumps(json_data)
print(data)

相关内容

最新更新