json.decoder.JSONDecodeError:应为包含在双引号中的属性名:第2行第2列(字符3)

2024-09-30 16:31:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这个问题已经得到了回答,但我不知道我的案例中的错误在哪里

这是我的代码:

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文件,所以如果这真的是一个转储错误,请不要怪我


Tags: 代码importjsondata错误案例position2position3
3条回答

如果您使用三重引号,这将起作用

json_data = json_data.replace("'", '"')

data = json.loads(json_data)
print(data)

不要使用三重引号"""。相反,使用带有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)

试试这个

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)

相关问题 更多 >