Python을 사용한 JSON 인코딩/디코딩
원활한 데이터 교환 및 저장을 위해 Python 사전을 JSON(JavaScript Object Notation)으로 변환하는 것이 일반적입니다. 요구 사항. 그러나 사전에서 JSON 데이터에 액세스하려고 하면 예기치 않은 오류가 발생할 수 있습니다.
발생한 오류:
다음 코드 조각을 고려하세요.
<code class="python">r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) file.write(str(r['rating']))</code>
JSON 문자열에서 '등급' 키에 액세스하려고 하면 "TypeError: 문자열 인덱스는 문자열이 아닌 정수여야 합니다." 오류가 발생합니다. 이 오류는 json.dumps()가 사전 'r'을 실제 JSON 객체나 사전이 아닌 문자열로 변환하기 때문에 발생합니다.
올바른 접근 방식:
해결 방법 이 문제는 json.loads() 메서드를 활용하여 JSON 문자열을 사전에 다시 로드합니다. 이를 통해 다음과 같이 '등급' 키에 액세스할 수 있습니다.
<code class="python">import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) loaded_r = json.loads(r) print(loaded_r['rating'])</code>
구별 이해:
json.dumps()는 사전을 문자열로 저장합니다. json.loads()는 이를 사전으로 검색합니다. 데이터를 직렬화할 때는 json.dumps()를 사용하고, 역직렬화할 때는 json.loads()를 사용하는 것을 잊지 마세요.
위 내용은 Python 사전에서 JSON 데이터에 액세스할 때 오류를 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!