首页 > 解决方案 > 如何将这个大型 json 文件转换为 Python 对象?

问题描述

我有这个 JSON 文件,其中包含交互式地图中的数据,该地图显示由 The Trussell Trust 运营的英国食品银行。

食物银行数据

我正在尝试使用json.loads(),但我不断收到语法错误。我认为 Python 可能会让人感到困惑'"因为每次出现类似的单词时,there's它都会将 ``' 解释为字符串的结尾。

基本上我需要将该链接中的数据转换为任何 python 对象。

编辑:修复链接。是否有可能获取该数据并在 python 中使用它,还是我需要学习 JS?

标签: javascriptpython

解决方案


这应该有效:

import urllib.request, json
with urllib.request.urlopen("https://www.trusselltrust.org/get-help/find-a-foodbank/foodbank-search/?foodbank_s=all&callback=?") as url:
    data = json.loads(url.read().decode()[2:-2])
    print(data[0]['foodbank_information']) # example print

格式似乎是JSONP( JSON with padding)。json来自 python 似乎不支持这种格式。如果您的链接发生变化,尤其是callback=?参数发生变化,您可能想看看这个


推荐阅读