list indices must be integers or slices, not str

list indices must be integers or slices, not str

问题描述:

ticketLineId = batch.json()['lineList'][0]['ticketLineId']
print('ticketLineId'+ str(ticketLineId))

取不到值
报错:TypeError: list indices must be integers or slices, not str
求解惑

ticketLineId = batch.json()['lineList'][0]['ticketLineId']这句里有将列表作为字典使用键名取值了,因而报错。检查 batch.json()里的数据结构,在分层析取时,到列表时用索引取值,到字典时用键名取值。如需全部取出来的话,通过遍历即可。

ticketLineId = batch.json()[0]['lineList'][0]['ticketLineId']
print(ticketLineId)

list indices must be integers or slices, not str
这个错误是说: 列表的索引必须是整数或切片,而不能是字符串
应该是你batch.json()或者batch.json()['lineList'][0] 是列表,不是字典,
列表不能通过['lineList']或['ticketLineId']键名访问。
你看看batch.json()是什么结构,可能是你多访问或少访问了一层。