【发布时间】:2022-01-15 02:07:36
【问题描述】:
我正在尝试解析 API 返回给我的“复杂”JSON 字符串。
看起来像这样:
{
"data":[
["Distance to last strike","23.0","miles"],
["Time of last strike","1/14/2022 9:23:42 AM",""],
["Number of strikes today","1",""]
]
}
虽然最终目标是提取距离、日期/时间以及计数,但现在我只是想成功获得距离。
我的python脚本是:
import requests
import json
response_API = requests.get('http://localhost:8998/api/extra/lightning.json')
data = response_API.text
parse_json = json.loads(data)
value = parse_json['Distance to last strike']
print(value)
这不起作用。如果我将value 行更改为
value = parse_json['data']
然后返回我上面列出的整个字符串。
我希望这只是一个简单的格式问题。有什么建议吗?
【问题讨论】:
-
试图访问一个字典/列表项不是解析。
parse_json['data']返回一个列表而不是字符串。 -
很公平。这就是我问这个问题的原因。正如我所说,我是新手,所以我试图理解这一切。
-
两个要点:1)
requests内置了 JSON 支持;只需阅读response_API.json而不是response_API.text。 2) 没关系您通过解析 JSON 获得数据。它只是嵌套字典和/或列表的结构,并且您与它进行交互就像您以任何其他方式获得该结构 /i>。和一个观察:“然后我上面列出的整个字符串被返回。”不,不是,假设输入和代码实际上与您描述的一样。将返回一个 list,其中包含 3 个本身就是列表的元素。
标签: python json python-3.x