목록으로

프로그래밍 · Python

Python 완전정복 시리즈 #19: JSON으로 웹 API와 AI 데이터 다루기

BeanCon
Python에서 JSON으로 웹 API와 AI 데이터를 다루는 방법을 설명하는 대표 이미지

Python 완전정복 시리즈 19편입니다. 웹 서버, 모바일 앱, 데이터베이스, AI 모델이 공통으로 사용하는 JSON의 개념과 구조, Python Dictionary와의 변환, 파일 저장, ChatGPT API 예시와 초보자가 자주 하는 실수까지 정리했습니다.

1. 🌍 외계 문명과 첫 접촉

때는 2045년.

인류는 마침내 외계 문명과 통신에 성공했습니다.

문제는 하나였습니다.

인간

한국어
영어
중국어
일본어

외계인

#@!$%^&*

서로 대화가 안 됩니다.

😱

국제 과학자들이 모여 고민했습니다.

"서로 이해할 수 있는 공통 언어가 필요하다."

그리고 만들어진 언어

Universal Language

재미있는 사실이 있습니다.

현대 IT 세계에도

이와 똑같은 일이 일어나고 있습니다.

웹 서버

모바일 앱

데이터베이스

AI 모델

클라우드 서비스

서로 사용하는 언어가 다릅니다.

그런데도 데이터를 주고받아야 합니다.

그리고 그 문제를 해결한 공용 언어가 있습니다.

2. 오늘의 주인공

JSON

3. 잠깐...

우리는 이미 JSON을 알고 있었다

지난 시간까지 배운

Dictionary를 기억하시나요?

user = {
    "name": "Lee",
    "age": 30,
    "country": "Korea"
}

이제 JSON을 봅시다.

{
  "name": "Lee",
  "age": 30,
  "country": "Korea"
}

여러분

눈치채셨나요?

거의 똑같습니다.

😲

사실 JSON은

Dictionary와 매우 가까운 친척입니다.

4. 만약 JSON이 없었다면?

웹사이트 로그인

아이디 : idaro

서버

누가 로그인했지?

음...
어떻게 보내지?

서버

나도 모르겠는데?

대혼란 발생

🔥🔥🔥

그래서 모두가 약속했습니다.

"앞으로 데이터는 JSON으로 주고받자."

5. 최초의 API 요청

어느 날.

당신은 날씨 앱을 만들기로 했습니다.

서버에게 요청

서울 날씨 알려줘

서버 응답

{
  "city": "Seoul",
  "temperature": 31,
  "humidity": 65
}

Python

weather = {
    "city": "Seoul",
    "temperature": 31,
    "humidity": 65
}

온도 출력

print(weather["temperature"])

결과

31

여러분은 지금

API 개발자의 첫 걸음을 내디딘 것입니다.

6. JSON은 데이터 택배 상자다

택배를 보낼 때

박스

받는 사람
주소
전화번호

정보를 정리합니다.

JSON도 같습니다.

{
  "name": "Lee",
  "phone": "010-1234-5678",
  "city": "Seoul"
}

데이터를 정해진 형태로 포장합니다.

그리고 상대방에게 보냅니다.

7. JSON 기본 구조

JSON의 규칙은 단순합니다.

{
  "키": "값"
}

예시

{
  "name": "Python"
}

여기서

name

은 Key

Python

은 Value

입니다.

8. JSON이 담을 수 있는 데이터

문자열

{
  "name": "Lee"
}

숫자

{
  "age": 30
}

참/거짓

{
  "isAdmin": true
}

배열

{
  "skills": [
    "Python",
    "Docker",
    "Linux"
  ]
}

객체

{
  "user": {
    "name": "Lee",
    "age": 30
  }
}

9. AI도 JSON으로 대화한다

많은 사람들이 모르는 사실

ChatGPT

Claude

Gemini

Copilot

내부적으로 수많은 JSON을 주고받습니다.

예시

{
  "role": "user",
  "content": "안녕하세요"
}

AI 응답

{
  "role": "assistant",
  "content": "반갑습니다."
}

실제로 AI 서비스는

JSON의 바다 위에서 움직입니다.

10. Python과 JSON의 만남

Python에는 특별한 친구가 있습니다.

import json

JSON 전담 통역사입니다.

11. Dictionary → JSON

import json

user = {
    "name": "Lee",
    "age": 30
}

변환

json_data = json.dumps(user)

print(json_data)

결과

{"name": "Lee", "age": 30}

Python 언어를

JSON 언어로 번역한 것입니다.

12. JSON → Dictionary

반대로

import json

data = '''
{
  "name":"Lee",
  "age":30
}
'''

변환

user = json.loads(data)

print(user["name"])

결과

Lee

이번에는

JSON을 Python으로 번역했습니다.

13. 실제 해커(?) 탐정 사건

회사 보안 시스템에서

수상한 로그 발견

{
  "ip":"192.168.0.10",
  "country":"KR",
  "action":"login_fail"
}

Python 분석

import json

log = json.loads(data)

print(log["ip"])

결과

192.168.0.10

보안 분석가들은

하루에도 수십만 개 JSON을 처리합니다.

14. JSON 파일 저장하기

회원 정보 저장

import json

user = {
    "name":"Lee",
    "age":30
}

파일 저장

with open(
    "user.json",
    "w",
    encoding="utf-8"
) as file:
    json.dump(
        user,
        file,
        ensure_ascii=False,
        indent=4
    )

생성 결과

{
    "name": "Lee",
    "age": 30
}

마치 작은 데이터베이스 같습니다.

15. 개발자들이 JSON을 사랑하는 이유

XML

CSV

TXT

YAML

등 여러 형식이 존재합니다.

그런데 JSON은

✅ 읽기 쉽다

✅ 쓰기 쉽다

✅ 사람이 이해 가능

✅ 프로그램이 처리하기 쉽다

✅ 웹 표준

그래서 사실상

업계 표준이 되었습니다.

16. ChatGPT API 실물 보기

실제 OpenAI API 요청 형태

{
  "model": "gpt",
  "messages": [
    {
      "role": "user",
      "content": "Python 알려줘"
    }
  ]
}

놀랍게도

지금 여러분이 사용하는 AI도

JSON으로 대화하고 있습니다.

17. 초보자가 자주 하는 실수

작은따옴표 사용

잘못된 예

{
  'name': 'Lee'
}

JSON은

반드시

"name"

처럼 큰따옴표 사용

18. 쉼표 실수

잘못된 예

{
  "name":"Lee",
}

마지막 쉼표 금지

19. JSON과 Dictionary를 혼동

Python

{
    'name':'Lee'
}

JSON

{
    "name":"Lee"
}

비슷하지만 다릅니다.

20. 미래의 개발자가 되는 순간

지금까지 배운 것

파일

저장

클래스

설계

모듈

구조화

JSON

통신

드디어 여러분은

다른 시스템과 대화할 수 있게 되었습니다.

21. 오늘 배운 내용을 한 문장으로 정리하면

JSON은

"웹, 모바일, AI, 데이터베이스가 함께 사용하는 국제 공용어"

입니다.

22. 이제 여러분은 인터넷과 연결된다

지금까지 만든 프로그램은

혼자만 동작했습니다.

하지만 JSON을 이해하는 순간

웹 API

클라우드

ChatGPT

데이터 분석

Elasticsearch

MongoDB

Kubernetes

모든 현대 시스템과 연결될 수 있습니다.

🚀 다음 편 예고

다음 시간에는

"[Python 완전정복 시리즈 #20] REST API 완벽 이해하기 | Python 프로그램이 인터넷과 대화하는 방법"

을 배워보겠습니다.

이제 Python 프로그램은 단순한 코드가 아니라,

실제 웹 서비스와 AI 서비스에 연결되는 살아있는 애플리케이션으로 진화하게 됩니다.

댓글

0

댓글을 불러오는 중입니다.