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']))
답변
를 사용하여 문자열로 변환 할 필요가 없습니다. json.dumps()
r = {'is_claimed': 'True', 'rating': 3.5}
file.write(r['is_claimed'])
file.write(str(r['rating']))
dict 객체에서 직접 값을 가져올 수 있습니다.
답변
r을 사전으로 정의하면 트릭을 수행해야합니다.
>>> r: dict = {'is_claimed': 'True', 'rating': 3.5}
>>> print(r['rating'])
3.5
>>> type(r)
<class 'dict'>