im我正在嘗試解析json數據,并在每次元素時收到此錯誤 if ['fields']['assignee'] in each: TypeError: list indices must be integers or slices, not str >>> 我的 json 是這個{"expand": "schema,names","startAt": 1,"maxResults": 50,"total": 7363,"issues": [ { "expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields", "id": "591838", "self": "https://jira.mynet.com/rest/api/2/issue/591838", "key": "TEST-8564", "fields": { "summary": "delete tables 31-03-2020 ", "customfield_10006": 2.0, "created": "2020-02-27T10:29:12.000+0100", "description": "A LOT OF TEXT", "assignee": null, "labels": [ "DATA", "Refined" ], "status": { "self": "https://jira.mynet.com/rest/api/2/status/10000", "description": "", "iconUrl": "https://jira.mynet.com/", "name": "To Do", "id": "10000", "statusCategory": { "self": "https://jira.mynet.com/rest/api/2/statuscategory/2", "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } } } } ]}在此示例中,['fields']['assignee'] 中的元素為 NULL,有時如下所示我正在嘗試檢查受讓人是否為空,如果是這樣,請打印空值
1 回答

浮云間
TA貢獻1829條經驗 獲得超4個贊
嘗試
if 'fields' in each and 'assignee' in each['fields']:
請注意,您需要密鑰的名稱,而不是用方括號括起來。
也許更好:
for each in data['issues']: print(each.get('fields', {}).get('assignee', {}).get('name', 'null'))
如果您不能保證“問題”存在于以下兩個方面:data
for each in data.get('issues', []): <as before>
data.get('issues', [])
如果不存在,則返回空列表。data['issuess']
添加回答
舉報
0/150
提交
取消