這是我的代碼j = """{ "kind": "youtube#videoListResponse", "items": [ { "kind": "youtube#video", "id": "IEEhzQoKtQU", "statistics": { "viewCount": "171938", "likeCount": "5856", "dislikeCount": "38", "favoriteCount": "0", "commentCount": "368" } } ], "pageInfo": { "totalResults": 1, "resultsPerPage": 1 }}""" js = json.loads(j) js = js["items"] js = js["statistics"] print(js["viewCount"])我是 json 的新手,我試圖從這個 json 字符串中檢索 viewCount。但是每次我運行代碼時都會收到此錯誤:js = js["statistics"]TypeError: list indices must be integers or slices, not str有沒有人有辦法解決嗎?
1 回答

揚帆大魚
TA貢獻1799條經驗 獲得超9個贊
那是因為items列表確實是列表,而不是字典。在你的 json 中:
[
{
"kind": "youtube#video",
"id": "IEEhzQoKtQU",
"statistics": {
"viewCount": "171938",
"likeCount": "5856",
"dislikeCount": "38",
"favoriteCount": "0",
"commentCount": "368"
}
}
]
只有一個項目,但你有一個列表。如果您想要列表中的第一項,您可以使用js[0]["statistics"]. 或者迭代它們,for item in js.
添加回答
舉報
0/150
提交
取消