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

JavaScript 객체를 Python 딕셔너리로 변환하는 방법 완벽 가이드

Python과 JavaScript는 각각 데이터를 저장하는 방식이 다릅니다. Python은 딕셔너리(dict)를 사용하고, JavaScript는 객체(Object)를 사용하는데, 두 언어 간에 데이터를 주고받으려면 공통의 중간 형식이 필요합니다.

가장 널리 사용되는 중간 형식은 바로 JSON(JavaScript Object Notation)입니다. JSON은 가볍고 단순한 데이터 교환 형식으로, 웹 개발에서 두 언어를 연결하는 표준적인 방법으로 자리 잡았습니다.

Python에서 딕셔너리를 JSON 문자열로 변환하기

Python에서는 json.dumps() 함수를 사용하여 딕셔너리를 JSON 문자열로 변환할 수 있습니다. 이렇게 변환된 문자열은 JavaScript 쪽으로 안전하게 전달할 수 있습니다.

import json

my_dict = {
    'foo': 42,
    'bar': {
        'baz': "Hello",
        'poo': 124.2
    }
}

my_json = json.dumps(my_dict)
print(my_json)

실행 결과

'{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}'

JSON 문자열을 다시 Python 딕셔너리로 변환하기

반대로 JSON 문자열을 받아서 Python 딕셔너리로 되돌리려면 json.loads() 함수를 사용하면 됩니다. 변환된 딕셔너리는 일반적인 방식대로 키를 통해 값에 접근할 수 있습니다.

import json

my_str = '{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}'
my_dict = json.loads(my_str)

print(my_dict['bar']['baz'])

실행 결과

Hello

JavaScript 쪽에서는 어떻게 처리할까요?

흥미로운 점은 JavaScript 측에서는 별도의 변환 작업이 거의 필요하지 않다는 것입니다. JSON이 JavaScript Object Notation, 즉 자바스크립트 객체 표기법의 약자이기 때문입니다. JavaScript는 JSON 구조를 객체로 자연스럽게 인식하고 처리합니다.

다만 데이터가 문자열 형태로 전달된 경우에는 JSON.parse() 메서드를 사용해 실제 객체로 변환해야 합니다.

const jsonString = '{"foo": 42, "bar": {"baz": "Hello", "poo": 124.2}}';
const obj = JSON.parse(jsonString);

console.log(obj.bar.baz); // Hello

정리

두 언어 간 데이터 교환의 핵심은 JSON을 중간 다리로 활용하는 것입니다. Python에서는 json.dumps()json.loads()로 직렬화와 역직렬화를 수행하고, JavaScript에서는 JSON.parse()JSON.stringify()를 사용하면 됩니다. 이 기본 원리만 익히면 API 통신, 파일 입출력 등 다양한 상황에서 손쉽게 데이터를 주고받을 수 있습니다.