Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 JSON 데이터를 객체로 변환하는 방법 – json.loads() 완벽 가이드

Python에서 JSON 데이터를 다루려면 먼저 JSON 형식의 문자열을 Python이 이해할 수 있는 객체(딕셔너리, 리스트 등)로 변환해야 합니다. 이 작업은 표준 라이브러리인 json 모듈을 임포트한 후, json.loads() 메서드를 사용하면 간단하게 처리할 수 있습니다.

json.loads()란?

json.loads()는 'load string'의 약자로, JSON 형식의 문자열을 입력받아 이를 Python 객체로 변환(deserialization)하는 함수입니다. 변환 결과는 일반적으로 딕셔너리(dict) 또는 리스트(list) 형태가 되며, 이후 일반적인 Python 문법으로 자유롭게 데이터에 접근할 수 있습니다.

예제 코드

import json

json_string = '{"name": "Sonali", "age": 21, "designation": "Software developer"}'

# 변환 전: 문자열(str) 타입 확인
print(type(json_string))

def func(strng):
    a = json.loads(strng)   # JSON 문자열 → Python 딕셔너리 변환
    print(type(a))          # 변환 후 타입 확인
    print(a)

func(json_string)

실행 결과

<class 'str'>
<class 'dict'>
{'age': 21, 'name': 'Sonali', 'designation': 'Software developer'}

결과 분석

위 코드의 실행 흐름을 살펴보면 다음과 같습니다.

  • 처음 json_string은 따옴표로 묶인 문자열(str)입니다.
  • json.loads()를 거치면서 키-값 쌍으로 구성된 딕셔너리(dict)로 변환됩니다.
  • 변환된 딕셔너리는 a['name'], a['age']처럼 일반적인 방식으로 각 값에 접근할 수 있습니다.

참고 사항

반대로 Python 객체를 JSON 문자열로 변환할 때는 json.dumps() 메서드를 사용합니다. 즉, loads는 읽어들이기(문자열 → 객체), dumps는 내보내기(객체 → 문자열)라고 기억하면 됩니다. 또한 파일 입출력 시에는 각각 json.load()json.dump()를 활용하면 파일 전체를 한 번에 처리할 수 있습니다.