conf.json内の”custom_fields”の値が配列になっており
if文のなかで"id"が1なら○○するという処理を試しているのですが
以下の通りエラーになっております。
質問の下部に記載した、hoge.pyで似たような処理がうまくいくことは確認しているのですが
test.pyのように、jsonファイルを読み込んで、辞書型に変換した変数でアクセスしようとすると
エラーになるのですがどのように改善すべきでしょうか?
Traceback (most recent call last): File "test.py", line 6, in <module> for i in (a["issue"]["custom_fields"]): TypeError: list indices must be integers or slices, not str
test.py
import json with open("./conf.json", "r") as f: a = json.load(f) for i in (a["issue"]["custom_fields"]): if i["id"] == 1: print(i["name"])
conf.json
{ "issue": [ { "project_id": 1, "subject": "APIテスト", "tracker_id": 5, "status_id": 1, "custom_fields": [ { "id": 1, "name": "a" }, { "id": 2, "name": "b" }, { "id": 3, "name": "c" } ] } ] }
hoge.py
l = [{"id": 1, "name": "test"}, {"id": 2, "name": "test2"}, {"id": 3, "name": "test3"}] for i in l: if i["id"] == 3: print(i["name"]) $ python hoge.py test3
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。