r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
JSON에서 데이터에 액세스 할 수 없습니다. 내가 뭘 잘못하고 있죠?
TypeError: string indices must be integers, not str
r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
JSON에서 데이터에 액세스 할 수 없습니다. 내가 뭘 잘못하고 있죠?
TypeError: string indices must be integers, not str
답변:
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
json.dumps()
파이썬 dict의 JSON 문자열 표현을 반환합니다. 문서를 참조하십시오
r['rating']
r은 더 이상 dict이 아닌 문자열이므로 수행 할 수 없습니다.
아마도 당신은 같은 것을 의미했습니다
r = {'is_claimed': 'True', 'rating': 3.5}
json = json.dumps(r) # note i gave it a different name
file.write(str(r['rating']))
loaded_r
을 이미 가지고 있다고 가정하면 별도의 변수에 json을 다시로드하는 것이 조금 비효율적이라고 생각하지r
않습니까?