目前的问题是我有一个字符串
'{ecl:gry, hcl:#888785, eyr:2023, cid:63, iyr:2019, hgt:177cm, pid:656793259}'
我无法使用ast.literal_eval将其转换为字典,因为它的格式不正确。因此,我尝试用引号包装字母数字字符。
output = ""
quoting = False
for char in string:
if char.isalnum():
if not quoting:
output += '"'
quoting = True
elif quoting:
output += '"'
quoting = False
output += char
然而,一些键值对的值以特殊字符开头,这已经导致了:
"hcl":#"888785",
替代方案:
"hcl":"#888785",
因此,我在重新格式化我的字符串以进行ast.literal_eval()时,能够得到最接近的结果是:
{"ecl":"gry", "hcl":#"888785", "eyr":"2023", "cid":"63", "iyr":"2019", "hgt":"177cm", "pid":"656793259"}
我该如何在将这个字符串转换成字典的同时包括特殊字符?