파이썬 관련 포스팅 목록
2020/06/29 - [Linux/Python] - Python split 함수(문자열 자르기)
2020/06/24 - [Linux/Python] - Python 현재 날짜, 시간 구하기
2020/06/24 - [Linux/Python] - Python 파일 읽기, 쓰기(FILE I/O)
2020/06/19 - [Linux/Python] - Python Flask Jinja2 템플릿 사용하기
2020/06/18 - [Linux/Python] - Python Flask 엔드포인트 설정하기
2020/04/29 - [Linux/Python] - Python For문
목차
API의 필요성
안녕하세요! 오늘은 파이썬에서 json 문자열을 파싱하는 방법이 대하여 알아보겠습니다. 네트워크 통신 과정에서 대부분을 차지하는 프로토콜이 있습니다.
HTTP 통신 입니다.
사용자의 요청과 서버의 응답이 쌍으로 이루어진 프로토콜입니다.
요청(Request) 이란 웹브라우저 등 클라이언트가 서버에게 서비스를 요구하는 일련의 명령과도 비슷합니다. 예를들어 www naver com의 첫 페이지를 보고싶으면 HTTP www naver com/ 의 요청을 합니다.
자 이러한 요청을 받은 서버는 클라이언트가 요청한 내용을 해석하여 맞는 응답 데이터를 클라이언트에게 전송합니다.
그렇다면 json을 파싱하는데 왜 이런 이야기를 할까요? 바로 HTTP 프로코콜에서 json 데이터를 사용하기 때문입니다. Json은 key:value로 대응하는 구조입니다. 파이썬의 dictionary 구조와 비슷합니다.
클라이언트가 서버에 요청할 때 특정 값들을 보낼 수 있습니다. 이때 key:value 구조로 데이터를 전송합니다. 그리고 이 과정에서 json을 사용할 수 있습니다.
또한, 서버가 클라이언트에게 주는 응답 데이터도 이러란 json데이터 구조로 전달할 수 있습니다.
자 이제 요청/응답에서 사용되는 json 데이터 예제를 사용하여 파이썬에서 json 데이터를 파싱하는 방법을 알아보겠습니다.
함수 구조 설명
import json
values = json.load(data)
# 인자
data:
- json 데이터가 닮긴 문자열 또는 파일 오브젝트
# 반환
dictionary:
- 키와 값으로 이루어진 딕셔너리 형식으로 반환
파이썬을 설치하면 기본으로 설치되는 json 모듈을 사용합니다. load 함수는 json 형식의 데이터 문자열이 담긴 파일 오브젝트나 문자열을 읽고 키와 값으로 매핑하여 딕셔너리 변수에 저장합니다. 마지막으로 이 값을 반환함으로써 사용자가 유익하게 사용할 수 있도록 합니다.
예제 목표
이번 포스팅에서 다루는 예제의 목표는 json 데이터 구조가 정확히 어떤식으로 이루어졌는지와 load 함수가 파일 오브젝트, 문자열 모두 인자로 전달받아 처리할 수 있는 점을 이해하는 것입니다.
이러한 처리가 가능한 이유는 파이썬의 type함수가 있기때문에 가능합니다. 이제 예제 코드를 작성해보겠습니다.
코드 작성
import json
json_example_data = '{\
\"user_name\" : \"kokopan\",\
\"user_id\" : 12,\
\"user_infos\" : { \"nickname\":\"Solid\", \"age\":21},\
\"is_student\" : false\
}'
values = json.loads(json_example_data)
print(type(values))
print(values)
print('\n')
with open('data.json', 'r') as json_file:
values = json.load(json_file)
print(type(values))
print(values)
또한 아래 명령을 수행하여 테스트 json 파일을 생성합니다.
$ cd /tmp/python_json_parsing_example
$ vim data.json
{
"user_name": "kokopan",
"user_id": 12,
"user_infos": {
"nickname": "Solid",
"age": 21
},
"is_student": 0
}
이제 예제를 실행해보도록 하겠습니다.
실행
$ cd /tmp/python_json_parsing_example
$ python3 python_json_parsing_test.py
마무리
이번 포스팅엥서는 파이썬에서 Json 파일을 읽는 방법에 대하여 알아보았습니다. Dictionary 형식으로 파싱하여 반환해주기 때문에 편리한 것을 알 수 있었습니다.