아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
때가쏙비트
때가쏙비트19.03.01

파이썬에서 json 인덱싱에 어려움을 겪고있어 질문드립니다. ㅜㅜ

response = requests.get( url, headers=headers) match=response.json() print(match) print("_____") print(type(match)) print("_____") match =json.dumps(match) print(type(match)) print("_____") match = json.loads(str(match)) print(type(match)) print("_____") print(match) print("_____") print(match["matches"]["matches"]) print("_____")

위와 같은 코드를 실행하고 나면 아래와 같이 실행이 되면서 마지막에 인덱싱 에러가 납니다.

{'matches': [{'matchType': 'free', 'matches': [{'accountNo': '636755761583559872', 'matchId': 'B7jP2vwWNK', 'matchType': 'free', 'teamId': 'north', 'characterName': 'Medusa', 'matchResult': 'lose', 'seasonType': '0', 'startTime': '2019-02-19T05:49:47', 'endTime': '2019-02-19T06:10:55'}]}]} _____ <class 'dict'> _____ <class 'str'> _____ <class 'dict'> _____ {'matches': [{'matchType': 'free', 'matches': [{'accountNo': '636755761583559872', 'matchId': 'B7jP2vwWNK', 'matchType': 'free', 'teamId': 'north', 'characterName': 'Medusa', 'matchResult': 'lose', 'seasonType': '0', 'startTime': '2019-02-19T05:49:47', 'endTime': '2019-02-19T06:10:55'}]}]} _____ print(match["matches"]["matches"]) TypeError: list indices must be integers or slices, not str

위의 인덱싱 에러가 왜 발생되는지 모르겠어서 질문 드립니다. ㅜㅜ

55글자 더 채워주세요.
답변의 개수
1개의 답변이 있어요!
  • 소스에 보시면

    match["matches"]["matches"] 이렇게 적은 부분을

    match["matches"][0]["matches"][0] <== 이렇게 수정을 해주세요

    이렇게 해야 하는 이유는 인덱싱 에러가 배열관련 이거든요

    암튼 위와 같이 해주시면 될것 같습니다

    혹 안된다면 match["matches"][0]["matches"] 도 해보세요^^