json이란 JavaScript Object Notation의 줄임말로, JavaScript 에서 객체를 표현하는데 사용되는
방식에서 파생된 경량의 데이터 교환 형식이다. 데이터를 직렬화(Serialization)하는데 자주 사용되는
형식이다. Python 에서는 json을 다루기 위한 내장모듈 json을 지원한다.
json 모듈의 가장 기본적인 네 가지 메소드와 사용 예시는 다음과 같다.
메소드 | 기능 |
load | json 형식으로 저장된 파일을 Python 객체로 파싱 |
loads | json 형식의 문자열을 Python 객체로 파싱 |
dump | Python 객체를 json 형식으로 파싱하여 파일에 쓰기 |
dumps | Python 객체를 json 형식의 문자열로 파싱하여 반환 |
import json
# 예시용 오브젝트
sample_object = {
"json_string": "string_example",
"json_number": 100,
"json_array": [1, 2, 3, 4, 5],
"json_object": { "name":"John", "age":30},
"json_bool": True
}
# Python 오브젝트를 json 문자열로 파싱
json_string = json.dumps(sample_object)
print(json_string)
# json 문자열을 Python 오브젝트로 파싱
json_object = json.loads(json_string)
for key in json_object:
print(key)
# 실행 결과
# {"json_string": "string_example", "json_number": 100, "json_array": [1, 2, 3, 4, 5], "json_object": {"name": "John", "age": 30}, "json_bool": true}
# json_string
# json_number
# json_array
# json_object
# json_bool
dumps 와 loads 를 사용하여 Python 객체를 json 문자열로 파싱하고 다시 Python 객체로 파싱한 코드이다.
import json
# 예시용 오브젝트
sample_object = {
"json_string": "string_example",
"json_number": 100,
"json_array": [1, 2, 3, 4, 5],
"json_object": { "name":"John", "age":30},
"json_bool": True
}
# Python 오브젝트를 json 문자열로 파싱하여 파일에 쓴다
f = open('json_file', 'w')
json_string = json.dump(sample_object, f)
# 저장한 파일을 읽어들여 다시 Python 오브젝트로 파싱한다.
f = open('json_file', 'r')
json_object = json.load(f)
for key in json_object:
print(key)
# 실행 결과
# json_string
# json_number
# json_array
# json_object
# json_bool
dump 와 load 를 사용하여 Python 객체를 json 파일로 저장하고 그 파일을 읽어들여 다시 Python 객체로 파싱한
코드이다.
'언어 > Python' 카테고리의 다른 글
#11 흐름제어 (조건문, 반복문) (0) | 2021.05.27 |
---|---|
#10 특수한 매개변수 (0) | 2021.05.26 |
#9 입력을 받는 여러 방법 (0) | 2021.04.06 |
#8 우선순위 큐(heapq) (0) | 2021.04.05 |
#7 데크(deque) (0) | 2021.04.05 |