TypeError: list indices must be integers or slices, not str API, Json in Python
TypeError: list indices must be integers or slices, not str API, Json in Python
我正在尝试从 API 获取数据,但遇到错误。我需要这个 API.
的区块高度
import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json()["blocks"]["blockHeight"]
print(blk_height_net)
首先,我检查了什么 fetch_json_net.json()
returns:
{'blocks': [{'blockHeight': 115919, 'canonical': True, ...
这意味着 blk_height_net["blocks"]
有一个 list 值,而不是 dictionary 值。
因此,可以得到blockHeight
值,如下:
import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json()["blocks"][0]["blockHeight"]
print(blk_height_net)
# 115919
这是 JSON 数据。你正试图在字典中列出。如果您尝试切片方法从列表中获取数据,它将不起作用。
要从字典中获取数据,请使用带键的 get 方法。
这是获取第一个元素的“blockHeight”数据的代码。
方法一:
import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json()["blocks"][0]["blockHeight"]
print(blk_height_net)
115919
另一种方法:
import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json().get("blocks")[0].get('blockHeight')
print(blk_height_net)
115919
我正在尝试从 API 获取数据,但遇到错误。我需要这个 API.
的区块高度import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json()["blocks"]["blockHeight"]
print(blk_height_net)
首先,我检查了什么 fetch_json_net.json()
returns:
{'blocks': [{'blockHeight': 115919, 'canonical': True, ...
这意味着 blk_height_net["blocks"]
有一个 list 值,而不是 dictionary 值。
因此,可以得到blockHeight
值,如下:
import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json()["blocks"][0]["blockHeight"]
print(blk_height_net)
# 115919
这是 JSON 数据。你正试图在字典中列出。如果您尝试切片方法从列表中获取数据,它将不起作用。 要从字典中获取数据,请使用带键的 get 方法。 这是获取第一个元素的“blockHeight”数据的代码。
方法一:
import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json()["blocks"][0]["blockHeight"]
print(blk_height_net)
115919
另一种方法:
import requests
import json
fetch_json_net = requests.get('https://api.minaexplorer.com/blocks?limit=1')
blk_height_net = fetch_json_net.json().get("blocks")[0].get('blockHeight')
print(blk_height_net)
115919