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

JSON 데이터를 Python 튜플로 변환하는 방법

Python에서는 json.loads() 함수를 사용해 먼저 JSON을 딕셔너리(dict)로 변환한 뒤, dict.items() 메서드를 활용하여 튜플(tuple)로 변환할 수 있습니다.

Python의 내장 json 모듈을 사용하면 JSON 파일을 손쉽게 파싱할 수 있습니다. 이 모듈은 JSON 문자열을 해석하여 딕셔너리 형태로 저장하며, 이후에는 일반적인 딕셔너리와 동일한 방식으로 값에 접근할 수 있습니다.

예제 JSON 데이터

다음과 같은 내용의 JSON 파일이 있다고 가정해 보겠습니다.

{
    "id": "file",
    "value": "File",
    "popup": {
        "menuitem": [
            {"value": "New", "onclick": "CreateNewDoc()"},
            {"value": "Open", "onclick": "OpenDoc()"},
            {"value": "Close", "onclick": "CloseDoc()"}
        ]
    }
}

JSON을 튜플로 변환하기

Python 프로그램에서 이 파일을 불러온 후, 최상위 키-값 쌍을 튜플로 변환하는 방법은 다음과 같습니다.

import json

f = open('data.json')
data = json.load(f)
f.close()

print(tuple(data.items()))

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

(('id', 'file'), ('value', 'File'), ('popup', {'menuitem': [{'value': 'New', 'onclick': 'CreateNewDoc()'}, {'value': 'Open', 'onclick': 'OpenDoc()'}, {'value': 'Close', 'onclick': 'CloseDoc()'}]}))

참고 사항

data.items()는 딕셔너리의 최상위 키-값 쌍만 반환합니다. 위 예제에서 볼 수 있듯이 중첩된 구조(예: popup 키의 값)는 그대로 딕셔너리나 리스트 형태로 유지됩니다. 중첩된 모든 요소까지 재귀적으로 튜플로 변환하고 싶다면, 재귀 함수를 직접 작성하여 각 계층을 순회하며 변환하는 추가 처리가 필요합니다.