Python JSON双引号错误

2024-04-26 17:31:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用以下代码时遇到了JSON语法问题:https://github.com/clarkbk/streeteasy-analysis

在中使用此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#

我已经研究了几个小时,现在如何解决这个问题,但不能想出一个解决办法。一般来说,我对JSON不是很熟悉,但我不知道我在哪里不能正确地进行双重计算。谢谢你的帮助。你知道吗


Tags: inpyhttpscomjsonlibusrline
1条回答
网友
1楼 · 发布于 2024-04-26 17:31:56

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

你想要:

 "id": 799324
}

(注意最后一个元素后面没有逗号)

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

如果你有这样的数据,你可以在上面使用ast.literal_eval,它可以不加修改地工作(除非有falsenulljson布尔值/空指针)

相关问题 更多 >