파이썬에서 json 인덱싱에 어려움을 겪고있습니다.. 초보적인 문제같은데

조회수 944회

주변에 여쭤보니 스트링이아니라 json을 넣어야 정수가 아니어도 인덱싱을 한다는데..

match라는 변수가 json이 아닌건가요?? ㅠㅠ

웹에서 긁어온 json이라..

response = requests.get( url, headers=headers)
print(response)
match = response.json()
print(match)
print(match["matches"]["matches"]["characterName"])

이미지

이미지

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    이거 해보세요.

    # 응답을 문자열로 변환한 뒤 json.loads() 사용
    # type(response)가 str인지 json인지 response 객체인지 모르겠으므로...
    match = json.loads(str(response))
    
    # 아마 나올겁니다.
    print(match["matches"]["matches"]["characterName"])
    
    • json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) Duk Gi Awa Yang 2019.2.19 15:33
    • 응답 정보에 리스폰스 바디라고 적혀있긴합니당.. Duk Gi Awa Yang 2019.2.19 15:34
    • 타입은 라고 나옵니다 제가 필요한 문자열은 Duk Gi Awa Yang 2019.2.19 15:34
    • response 를 프린트하면 안나오고 response.json이라고 해야 나와요 Duk Gi Awa Yang 2019.2.19 15:35
    • 해결된건가요? 엽토군 2019.2.19 15:37
    • 아뇨... 다시 질문글 올리겠습니다 Duk Gi Awa Yang 2019.2.19 15:41

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)