编程语言
首页 > 编程语言> > Python无法使用额外的结尾逗号来解析JSON

Python无法使用额外的结尾逗号来解析JSON

作者:互联网

这段代码:

import json
s = '{ "key1": "value1", "key2": "value2", }'
json.loads(s)

在Python 2中产生此错误:

ValueError: Expecting property name: line 1 column 16 (char 15)

Python 3中的结果类似:

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 16 (char 15)

如果删除该结尾的逗号(在“ value2”之后),则不会出错.但是我的代码将处理许多不同的JSON,因此无法手动进行.是否可以将解析器设置为忽略这些最后的逗号?

解决方法:

JSON规范不允许尾随逗号.解析器抛出异常,因为它遇到无效的语法标记.

您可能有兴趣对这些文件使用其他解析器,例如.为JSON5 spec构建的解析器,它允许这种语法.

标签:python,json,parsing,runtime-error
来源: https://codeday.me/bug/20191011/1896115.html