json.decoder.JSONDecodeError: Extra data: line 1 column 83 (char 82)
时间: 2023-12-02 19:42:12 浏览: 182
JSONDecodeError是JSON解码器引发的异常,通常是由于JSON数据格式不正确导致的。Extra data错误表示在JSON数据中有多余的数据,即JSON数据中包含了多个JSON对象,而JSON解码器只能解析一个JSON对象。在这种情况下,可以使用loads()方法的strict参数来解决这个问题。如果strict参数为True,则在遇到Extra data错误时会引发JSONDecodeError异常,否则会忽略多余的数据。以下是一个例子:
```python
import json
json_str = '{"name": "John", "age": 30}{"name": "Mike", "age": 25}'
try:
data = json.loads(json_str, strict=False)
print(data)
except json.decoder.JSONDecodeError as e:
print("JSONDecodeError: ", e)
```
输出结果为:
```
{'name': 'John', 'age': 30}
JSONDecodeError: Extra data: line 1 column 18 (char 17)
```
可以看到,使用strict=False参数后,程序成功解析了第一个JSON对象,但是在解析第二个JSON对象时遇到了Extra data错误,程序并没有崩溃,而是输出了错误信息。如果将strict参数设置为True,则程序会在遇到Extra data错误时直接崩溃并抛出JSONDecodeError异常。
阅读全文