Python JSON双引号错误

Python JSON双引号错误,python,json,web-scraping,Python,Json,Web Scraping,我在使用以下代码时遇到JSON语法问题: 在buildings.JSON中使用此JSON { "buildings": [ { "name": "Henry Hall", "addr": "https://streeteasy.com/nyc/property_activity/past_transactions_component/799324?all_activity=true&show_rentals=true&style=xls",

我在使用以下代码时遇到JSON语法问题:

在buildings.JSON中使用此JSON

{
  "buildings": [
    {
      "name": "Henry Hall",
      "addr": "https://streeteasy.com/nyc/property_activity/past_transactions_component/799324?all_activity=true&show_rentals=true&style=xls",
      "id": 799324,
    }
  ]
}
我得到以下错误:

2019-05-25 16:04:26,641 - INFO - Starting...
Traceback (most recent call last):
  File "run.py", line 27, in <module>
    data = json.load(f)
  File "/usr/lib/python3.6/json/__init__.py", line 299, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 355, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 9 column 5 (char 220)
root@LAPTOP-4QGC19OR:/home/HN/streeteasy-analysis#
2019-05-2516:04:26641-信息-启动。。。
回溯(最近一次呼叫最后一次):
文件“run.py”,第27行,在
data=json.load(f)
文件“/usr/lib/python3.6/json/_init__.py”,第299行,已加载
parse_常量=parse_常量,object_pairs_hook=object_pairs_hook,**千瓦)
文件“/usr/lib/python3.6/json/_init__.py”,第354行,加载
返回\u默认\u解码器。解码
文件“/usr/lib/python3.6/json/decoder.py”,第339行,在decode中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“/usr/lib/python3.6/json/decoder.py”,第355行,原始解码
obj,end=self.scan_一次(s,idx)
json.decoder.JSONDecodeError:应为包含在双引号中的属性名:第9行第5列(char 220)
root@LAPTOP-4QGC19OR:/home/HN/streeteasy分析#

我已经研究了几个小时如何解决这个问题,但还没有找到解决办法。一般来说,我对JSON不太熟悉,但我不知道我在哪里没有正确地进行双重量化。感谢您的帮助。

行号给出了一个很好的提示

你想要:

 "id": 799324
}
(注意最后一个元素后面没有逗号)

json不是python
ast.literal\u eval
,如果最后一个元素上有一个逗号,它就会失败,因为它需要另一个属性作为消息状态(
Expecting property name括在双引号中
解释了这一点,尽管消息可能更好,因为这个错误非常常见)


如果您有这样的数据,您可以使用
ast.literal\u eval
来代替它,它将无需修改即可工作(除非有
false
null
json布尔值/空指针)

“id”:799324}
json不是python,如果最后一个元素上有逗号,它就失败了!这是可行的,如果将来有人看到这个答案,我还必须在JSON中添加url定义。