json.decoder.JSONDecodeError:额外数据:第2行第1列(char 190)

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (1646)

我正在运行以下代码 -

import json

addrsfile = 
open("C:\\Users\file.json", 
"r")
addrJson = json.loads(addrsfile.read())
addrsfile.close()
if addrJson:
    print("yes")

但是给我以下错误 -

Traceback (most recent call last):
  File "C:/Users/Mayur/Documents/WebPython/Python_WebServices/test.py", line 9, in <module>
    addrJson = json.loads(addrsfile.read())
  File "C:\Users\Mayur\Anaconda3\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\Mayur\Anaconda3\lib\json\decoder.py", line 342, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 190)

有人帮我吗?

JSON文件: -

{“name”:“XYZ”,“address”:“54.7168,94.0215”,“country_of_residence”:“PQR”,“countries”:“LMN; PQRST”,“date”:“28-AUG-2008”,“ type“:null} {”name“:”OLMS“,”address“:null,”country_of_residence“:null,”countries“:”Not identify; No“,”date“:”23-FEB-2017“,”输入“:null}

提问于
用户回答回答于

您的json文件中有两条记录,并且json.loads()无法解码多个记录。你需要按记录进行记录。

请参阅Python json.loads显示ValueError:额外数据

或者你需要重新格式化你的json以包含一个数组:

{
    "foo" : [
       {"name": "XYZ", "address": "54.7168,94.0215", "country_of_residence": "PQR", "countries": "LMN;PQRST", "date": "28-AUG-2008", "type": null},
       {"name": "OLMS", "address": null, "country_of_residence": null, "countries": "Not identified;No", "date": "23-FEB-2017", "type": null}
    ]
}

会再次被接受。但是不可能有几个顶级对象。

扫码关注云+社区

领取腾讯云代金券