인프런 커뮤니티 질문&답변

제갈PM님의 프로필 이미지
제갈PM

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

패턴으로 실습하며 익히기: 네이버 Open API 로 크롤링하기

JSON을 딕셔너리, 튜플 같은 데이터 구조로 볼 수 있을까요?

작성

·

114

·

수정됨

0

안녕하세요.

패턴으로 실습하며 익히기: 네이버 Open API로 클롤링하기

강의를 듣고 있습니다.

강의들 듣다 보면 JSON을 '데이터 포맷'이라고 부릅니다.

Q1 그런데 이 데이터 포맷이 파이썬 에서 나왔던 변수를 표현하는 데이터 구조인 딕셔너리, 튜플과 비교하면 어떻게 정리할 수 있을까요?

인터넷에 찾아보고 다음과 같이 정리했는데, 코멘트 해주시면 감사하겠습니다.

딕셔너리는 파이썬에서 일반적인 데이터 구조의 한 종류입니다.

JSON은 자바스크립트에서 데이터 교환의 상황에서 쓰이는 데이터 포맷입니다.

데이터 구조와 데이터 포맷의 공통점은 둘다 문자열로 표기된다는점입니다.

차이점은 데이터 포맷은 포맷 즉 껍데기 이기에 딕셔너리 이외 형태로 불러올 수 있습니다.

이에 반해 데이터 구조는 다른 데이터 형태로 불러올 수 없습니다.

답변 1

0

안녕하세요. 답변 도우미입니다.

JSON과 Python의 데이터 구조인 딕셔너리, 튜플을 비교하고 정리하신 내용에 대해 코멘트를 드리겠습니다.

기본적으로 잘 정리하셨습니다. 조금 더 명확하게 설명해 드리겠습니다:

딕셔너리:

- 파이썬에서 사용되는 데이터 구조입니다.

- 키와 값의 쌍으로 데이터를 저장합니다.

- 중괄호 {}를 사용하여 표기합니다.

- 예: {"name": "Alice", "age": 25}

JSON (JavaScript Object Notation):

- 자바스크립트에서 유래한 데이터 포맷입니다.

- 데이터 교환을 위해 사용되며, 다양한 프로그래밍 언어에서 지원합니다.

- 키와 값의 쌍으로 데이터를 저장하는 구조로, 딕셔너리와 유사하지만, 문자열로 인코딩된 형식입니다.

- 중괄호 {}를 사용하여 표기합니다.

- 예: {"name": "Alice", "age": 25}

공통점:

- 둘 다 데이터를 키와 값의 쌍으로 저장합니다.

- 중괄호 {}를 사용하여 데이터를 표현합니다.

- 문자열로 표현됩니다.

차이점:

1. 사용 목적:

- 딕셔너리: 파이썬 내에서 데이터를 저장하고 조작하기 위해 사용됩니다.

- JSON: 데이터를 저장하고 전송하기 위한 포맷입니다. 특히 웹 서비스 간의 데이터 교환에 많이 사용됩니다.

2. 데이터 형태:

- 딕셔너리: 파이썬의 내장 데이터 구조로, 직접적인 데이터 조작이 가능합니다.

- JSON: 문자열 포맷으로, 파이썬에서 사용하려면 json 모듈을 이용해 파싱하여 딕셔너리로 변환해야 합니다.

3. 언어 종속성:

- 딕셔너리: 파이썬에 종속적입니다.

- JSON: 언어 독립적입니다. 자바스크립트 외에도 거의 모든 프로그래밍 언어에서 사용할 수 있습니다.

예시로 정리:

```python

import json

# Python Dictionary

py_dict = {"name": "Alice", "age": 25}

# Python Dictionary to JSON string

json_str = json.dumps(py_dict)

print(json_str) # {"name": "Alice", "age": 25}

# JSON string to Python Dictionary

new_dict = json.loads(json_str)

print(new_dict) # {'name': 'Alice', 'age': 25}

```

이 예시에서는 Python의 딕셔너리를 JSON 문자열로 변환하고, 다시 JSON 문자열을 Python의 딕셔너리로 변환하는 과정을 보여줍니다.

요약하자면, JSON은 데이터를 저장하고 전송하기 위한 포맷이고, 딕셔너리는 파이썬 내에서 데이터를 조작하기 위한 구조입니다. JSON은 언어에 독립적이며 다양한 시스템 간의 데이터 교환에 유용하게 사용됩니다.

감사합니다.

잔재미코딩 드림

제갈PM님의 프로필 이미지
제갈PM

작성한 질문수

질문하기