[Python] json 톺아보기

YJ·2024년 11월 7일
3
post-thumbnail

💡 도움이 되셨다면 ♡와 팔로우 부탁드립니다. 미리 감사드립니다.

톺아보기는 '샅샅이 더듬어 가면서 살피다'라는 뜻의 순우리말입니다.

json 라이브러리 사용법

💡 웹 애플리케이션뿐만 아니라 공공데이터와 같은 외부 데이터 API에서 데이터를 받을 때도 흔히 사용된다.

JSON이란?

  • 'JavaScript Object Notation'의 약자로, 데이터를 구조화하여 저장하고 전송하는 데 널리 사용되는 포맷이다.
  • 경량의 데이터 교환 형식으로 사람이 읽기 쉽고, 기계가 쉽게 해석하고 생성할 수 있다.
  • 키-값 쌍을 기반으로 하며, Python의 딕셔너리, JavaScript의 객체와 유사한 구조를 가진다.
{
    "name": "Alice",
    "age": 25,
    "is_student": false,
    "courses": ["Math", "Physics"],
    "address": {
        "city": "New York",
        "zipcode": "10001"
    }
}

위 JSON 예시는 간단한 개인 정보를 담고 있으며, 다양한 데이터 타입과 중첩 구조를 포함하고 있다.

JSON의 데이터 타입

JSON에서는 여러 타입을 사용할 수 있다:

  • 문자열(String): 큰따옴표로 감싸진 텍스트 ("Alice")
  • 숫자(Number): 정수 및 실수 (25, 99.9)
  • 불리언(Boolean): true 또는 false
  • 배열(Array): 값의 목록 (["Math", "Physics"])
  • 객체(Object): 키-값 쌍으로 이루어진 중첩된 JSON ("address": { "city": "New York" })
  • 널 값(Null): 값이 없음을 나타냄 (null)

Python에서 JSON 다루기

Python에서는 json 라이브러리를 사용하여 JSON을 쉽게 처리할 수 있다.

import json

# JSON 문자열을 Python 딕셔너리로 변환하기
json_string = '{"name": "Alice", "age": 25}'
data = json.loads(json_string)
print(data["name"])  # 출력: Alice

# Python 딕셔너리를 JSON 문자열로 변환하기
python_data = {"name": "Alice", "age": 25}
json_data = json.dumps(python_data)
print(json_data)  # 출력: {"name": "Alice", "age": 25}

주요 함수

  1. json.loads(): JSON 문자열을 Python 객체로 변환
  2. json.dumps(): Python 객체를 JSON 문자열로 변환
  3. json.load(): JSON 파일을 Python 객체로 읽기
  4. json.dump(): Python 객체를 JSON 파일로 쓰기

예제

# JSON 파일 읽기
with open("data.json", "r") as file:
    data = json.load(file)
    print(data)

# JSON 파일로 쓰기
with open("output.json", "w") as file:
    json.dump(python_data, file) 

JSON 활용 예시

웹 애플리케이션에서 데이터 교환

JSON은 REST API에서 데이터를 송수신할 때 많이 사용된다. 예를 들어, 사용자의 정보를 서버로 전송할 때 JSON 포맷으로 인코딩한다.

{
    "method": "POST",
    "endpoint": "/user",
    "body": {
        "username": "alice123",
        "password": "securepassword"
    }
}

공공데이터 API에서 데이터 불러오기

JSON은 공공기관이나 정부에서 제공하는 공공데이터 API에서 데이터를 가져올 때도 자주 사용된다.

이를 통해 최신 교통, 날씨, 인구 통계 등의 데이터를 손쉽게 가져와 분석할 수 있다.

예를 들어, 공공 데이터 API에서 날씨 정보를 제공하는 JSON 형식을 불러와 Python으로 활용할 수 있다.

import requests

# 공공데이터 API 호출
response = requests.get("https://api.publicdata.example/weather")
data = response.json()

# JSON 데이터 출력
print(f"Location: {data['location']}")
print(f"Temperature: {data['temperature']} °C")
print(f"Condition: {data['condition']}")

예상 출력

{
    "location": "Seoul",
    "temperature": 24,
    "condition": "Clear"
}

정리

JSON은 현대 데이터 교환에서 필수적인 역할을 하는 포맷이다. Python의 경우 json 라이브러리를 활용하여 쉽게 JSON을 읽고, 쓰고, 변환할 수 있다. 특히 웹 개발, 공공데이터 활용, API 통신 등의 상황에서 JSON 포맷을 익숙하게 사용하는 것이 중요해 보인다.

profile
제 글이 유익하셨다면 ♡와 팔로우로 응원 부탁드립니다.

0개의 댓글

관련 채용 정보