-
[Python] JSON 데이터 손쉽게 다루기코딩/파이썬 2023. 7. 30. 11:20반응형
JSON은 많은 웹 및 모바일 어플리케이션에서 사용되는 가벼운 데이터 형식입니다. 이번 포스팅에서는 JSON이 무엇인지 그리고 Python에서 어떻게 JSON 데이터를 다루는지에 대해 알아보겠습니다.
JSON 이란?
JSON은 JavaScript Object Notation의 약자로, 데이터를 교환하는 하나의 형식입니다. 이는 속성과 값의 쌍(attribue-value pairs)으로 이루어진 텍스트 형식이며 사람이 읽을 수 있을 뿐만 아니라, 기계에 의해 쉽게 생성 및 분석될 수 있습니다. JSON은 두 개체 간에 데이터를 전송하는 데 사용되며, 특히 서버와 웹 애플리케이션 간에 데이터를 전송할 때 많이 사용됩니다.
JSON은 기본적으로 이름과 값의 쌍을 사용하며, 이들은 쉼표로 구분되고 중괄호({})로 묶입니다. 여기에는 배열을 사용할 수도 있으며, 이는 대괄호([])로 표시됩니다.
JSON의 예시는 다음과 같습니다:# Json 파일 형식 { "이름": "홍길동", "나이": 30, "취미": ["독서", "영화감상", "여행"] }
형식을 보시면 Python의 dictionary와 형식이 거의 유사합니다. 실제로 아래 설명드릴 json 패키지를 이용하면, 위와 같은 json 파일을 딕셔너리로 읽어서 다룰 수 있습니다.
JSON 에 대한 좀 더 자세한 정보와 역사는 아래 위키 페이지를 참고하세요.
https://ko.wikipedia.org/wiki/JSON
Python에서 Json을 다루는 방법
Python은 기본적으로 JSON 데이터를 다룰 수 있는 라이브러리를 제공합니다. json 라이브러리는 JSON 데이터를 파이썬 데이터 구조로 변환하거나 그 반대 작업을 수행할 수 있습니다.
다음은 Python에서 json 라이브러리를 사용하는 기본적인 방법입니다:
json 데이터를 읽기 : json.loads()
json.loads() 함수로 JSON 문자열을 Python 딕셔너리 객체로 변환합니다.
import json person_json = '{"name": "John", "age": 30, "city": "New York"}' person = json.loads(person_json) print(type(person)) print(person) print('name:' , person['name']) print('age:' , person['age'])
json.loads로 json 형식의 문자열을 읽으면 python dictionary로 다룰 수 있습니다.
json 형식의 데이터 쓰기 : json.dumps()
json.dumps() 함수는 Python 객체를 JSON 문자열로 변환합니다.
import json # python dict 생성 person = { "name": "John", "age": 30, "city": "New York" } # dict 을 json 문자열로 변환 person_json = json.dumps(person) print(person_json)
아래는 실행 결과입니다.
JSON 형식을 다루는 파이썬 라이브러리인 json에 대해 좀 더 자세히 알아보시려면, 아래 링크로 참고하십시요
https://docs.python.org/ko/3/library/json.html
주요 사용 사례
JSON 데이터를 Python에서 어떻게 활용할 수 있는지에 대해 실제 사례를 통해 알아보겠습니다. API에서 데이터를 받아와 사용하는 경우가 대표적인 JSON 사용 예입니다. requests 라이브러리를 사용하여 API를 호출하고 결과를 JSON으로 받아올 수 있습니다.
import requests import json response = requests.get('https://api.github.com') data = json.loads(response.text) print(data)
보통 API 응답이 json으로 구성된 경우가 많아서, respones.text의 응답 문자열을 python dict으로 변환해주는 코드입니다.
아래 실행 결과를 보면, github.com의 api 목록을 받아온 것을 확인할 수 있습니다.
마무리
이상 python json 에 대한 포스팅이었습니다.
https://smart-worker.tistory.com/48
https://smart-worker.tistory.com/52
https://smart-worker.tistory.com/50
반응형'코딩 > 파이썬' 카테고리의 다른 글
[Python] 문자열 서식 지정, 포매팅 방식 및 format 함수 (0) 2023.07.30 Python의 예외 처리 방법: try, except, finally 이해하기 (0) 2023.07.30 [Python] 텍스트 파일 읽고 쓰기(open, readlines 등) (0) 2023.07.30 [Python] GIL(Global interpreter Lock) 이해하기 (0) 2023.07.29 [Python]람다(lambda) 함수 이해하기 (0) 2023.07.29