首页 > 解决方案 > 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 文件,所以如果这是一个真正的转储错误,请不要怪我。

标签: pythonjson

解决方案


不要使用三引号"""。而是使用字典,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)

推荐阅读