json.loads()를 사용한 JSON 문자열 변환
Python에서 JSON 형식의 문자열을 딕셔너리(dictionary) 객체로 변환하려면 json 모듈의 json.loads() 메서드를 사용하면 됩니다. 이 메서드는 유효한(valid) JSON 문자열을 입력받아, 내부의 모든 요소에 자유롭게 접근할 수 있는 딕셔너리를 반환합니다.
>>> import json
>>> s = '{"success": "true", "status": 200, "message": "Hello"}'
>>> d = json.loads(s)
>>> print(d["success"], d["status"])
true 200
위 예제에서 볼 수 있듯이, JSON 문자열 s가 딕셔너리 d로 변환된 후에는 키(key)를 사용해 값을 간편하게 조회할 수 있습니다.
JSON 파일을 딕셔너리로 변환하기
변환 대상이 문자열이 아니라 JSON 파일이라면 json.load() 메서드를 사용하세요. 파일 객체를 인자로 전달하면 파일의 내용을 그대로 딕셔너리로 불러올 수 있습니다.
import json
with open('data.json', 'r', encoding='utf-8') as f:
d = json.load(f)
print(d["success"], d["status"])
핵심 정리
- json.loads(): JSON 문자열 → Python 딕셔너리
- json.load(): JSON 파일 → Python 딕셔너리
두 메서드의 이름이 비슷해 헷갈리기 쉽지만, 's'가 붙은 loads()는 문자열(string)을 처리하고, 파일을 다룰 때는 load()를 사용한다는 점만 기억하면 됩니다.