반응형
질문
r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
JSON에서 데이터에 접근할 수 없습니다. 무엇이 잘못되었을까요?
TypeError: 문자열 인덱스는 정수여야 합니다. 문자열이 아닙니다.
답변
json.dumps()
는 사전을 str
객체로 변환합니다. json(dict)
객체가 아닙니다! 따라서 str
을 dict
로 로드하여 사용해야합니다. 이를 위해 json.loads()
메소드를 사용하세요.
json.dumps()
를 저장하는 방법, 그리고 json.loads()
를 검색하는 방법으로 생각해보세요.
다음은 이를 이해하는 데 도움이 될 수있는 코드 샘플입니다:
import json
r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
loaded_r = json.loads(r)
loaded_r['rating'] #Output 3.5
type(r) #Output str
type(loaded_r) #Output dict
반응형
댓글