如这个问题中所述,不允许在json中使用任何尾随逗号。例如这个
{ "key1": "value1", "key2": "value2" }
很好,但是这个
{ "key1": "value1", "key2": "value2", }
是无效的语法。
出于另一个StackOverflow问题中提到的原因,在Python代码中使用尾随逗号是合法的(也许是鼓励的?)。我同时使用Python和JSON,因此希望能够在两种类型的文件之间保持一致。有没有办法json.loads忽略尾随逗号?
json.loads
您可以使用jsoncomment包装python的json解析器
JSON Comment允许使用以下方式解析JSON文件或字符串: 单行和多行注释 多行数据字符串 最后一项之后的对象和数组中的逗号结尾
JSON Comment允许使用以下方式解析JSON文件或字符串:
用法示例:
import json from jsoncomment import JsonComment with open(filename) as data_file: parser = JsonComment(json) data = parser.load(data_file)