Python에서 JSON 읽는 방법
Grace Collins
Solutions Engineer · Leapcell

Key Takeaways
json.loads()
를 사용하여 JSON 문자열을 Python 객체로 파싱합니다.json.load()
를 사용하여 파일에서 JSON 데이터를 읽습니다.- 항상
JSONDecodeError
및FileNotFoundError
와 같은 예외를 처리합니다.
JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하는 데 널리 사용되는 데이터 형식입니다. Python은 json
모듈을 통해 JSON에 대한 기본 지원을 제공하므로 프로그램에서 JSON 데이터를 쉽게 사용할 수 있습니다. 이 문서에서는 Python을 사용하여 문자열과 파일에서 JSON을 읽는 방법을 살펴봅니다.
JSON이란 무엇입니까?
JSON은 사람이 읽고 쓰기 쉽고, 기계가 파싱하고 생성하기 쉬운 경량 데이터 교환 형식입니다. 웹 API 및 구성 파일에서 일반적으로 사용됩니다.
일반적인 JSON 객체는 다음과 같습니다.
{ "name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"] }
JSON 문자열 읽기
Python의 json.loads()
메서드는 JSON 형식의 문자열을 파싱하여 Python 사전으로 변환할 수 있습니다.
import json json_string = '{"name": "Alice", "age": 30, "is_student": false, "courses": ["Math", "Science"]}' data = json.loads(json_string) print(data["name"]) # Output: Alice
파일에서 JSON 읽기
JSON 파일을 읽으려면 json.load()
메서드를 사용합니다. 이 메서드는 파일 객체에서 읽고 JSON 데이터를 파싱합니다.
import json with open("data.json", "r") as file: data = json.load(file) print(data["courses"]) # Output: ['Math', 'Science']
참고:
with
문을 사용하여 파일을 열면 파일을 읽은 후 올바르게 닫힙니다.json.load()
는json.loads()
와 혼동해서는 안 됩니다. 전자는 파일 객체에서 읽고 후자는 문자열에서 읽습니다.
오류 처리
JSON으로 작업할 때 항상 가능한 파싱 오류를 예상해야 합니다.
import json try: with open("data.json", "r") as file: data = json.load(file) except json.JSONDecodeError as e: print("Failed to decode JSON:", e) except FileNotFoundError: print("The file was not found.")
결론
Python에서 JSON을 읽는 것은 json
모듈 덕분에 간단합니다. 문자열을 사용하든 파일을 사용하든 Python을 사용하면 JSON 데이터 구조를 쉽게 파싱하고 작업할 수 있습니다. 이는 API, 구성 파일 또는 시스템 간의 데이터 교환을 처리할 때 특히 유용합니다.
FAQs
json.load()
는 파일 객체에서 읽고, json.loads()
는 JSON 문자열을 파싱합니다.
try-except 블록을 사용하여 디코딩 및 파일 찾을 수 없음 오류를 처리합니다.
예, 중첩된 JSON은 중첩된 Python 사전 및 목록으로 파싱됩니다.
Leapcell은 백엔드 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발합니다.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 지불합니다. 요청도, 요금도 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼만 지불합니다.
- 예: $25로 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
간편한 확장성 및 고성능
- 고도의 동시성을 쉽게 처리하기 위한 자동 크기 조정.
- 운영 오버헤드가 없으므로 빌드에만 집중할 수 있습니다.
설명서에서 자세히 알아보세요!
X에서 팔로우하세요: @LeapcellHQ