【发布时间】:2019-03-09 06:18:42
【问题描述】:
这段代码:
import json
s = '{ "key1": "value1", "key2": "value2", }'
json.loads(s)
在 Python 2 中产生此错误:
ValueError:预期属性名称:第 1 行第 16 列(字符 15)
Python 3 中的类似结果:
json.decoder.JSONDecodeError: 期望用双引号括起来的属性名称:第 1 行第 16 列 (char 15)
如果我删除那个尾随逗号(在"value2" 之后),我不会收到任何错误。但是我的代码会处理很多不同的 JSON,所以我不能手动完成。是否可以将解析器设置为忽略最后的逗号?
【问题讨论】:
-
您无法修复源以生成有效的 JSON?
-
@Kingsley 这是用于在线控制台中的用户输入。当 JSON 字典中有很多记录并且您删除最后一条记录时,您会得到一个尾随逗号并且很容易忘记它......所以,最好将这些小事情自动化。
标签: python json parsing runtime-error