json.loads可以忽略结尾的逗号吗?

如这个问题中所述,不允许在json中使用任何尾随逗号。例如这个

{

"key1": "value1",

"key2": "value2"

}

很好,但是这个

{

"key1": "value1",

"key2": "value2",

}

是无效的语法。

出于另一个StackOverflow问题中提到的原因,在Python代码中使用尾随逗号是合法的(也许是鼓励的?)。我同时使用Python和JSON,因此希望能够在两种类型的文件之间保持一致。有没有办法json.loads忽略尾随逗号?

回答:

您可以使用jsoncomment包装python的json解析器

JSON Comment允许使用以下方式解析JSON文件或字符串:

  • 单行和多行注释
  • 多行数据字符串
  • 最后一项之后的对象和数组中的逗号结尾

用法示例:

import json

from jsoncomment import JsonComment

with open(filename) as data_file:

parser = JsonComment(json)

data = parser.load(data_file)

以上是 json.loads可以忽略结尾的逗号吗? 的全部内容, 来源链接: utcz.com/qa/397992.html

回到顶部