Python - JSON

tycode·2021년 8월 4일
0

TIL

목록 보기
27/30


1. Python 객체를 JSON 데이터로 쓰기, 직렬화, 인코딩
(Write Python object to JSON, Serialization, Encoding)

  • json 라이브러리는 파이썬의 dict, list 객체를 바로 JSON 파일로 저장해줌.
import json

file_path = "./sample.json"
with open("file_path", "w") as json_file:   #'py_data'이름의 파일을 'w' 모드로 열고
    json.dump(data, json_file)    #json으로 내보내고자 하는 객체 data가 직렬화되서 'json_file'에 쓰여짐.

 

  • json.dump()에 indent 옵션을 주면 보기 좋게 write가 된다.
file_path = "./sample.json"
with open(file_path, 'w') as json_file:
    json.dump(data, json_file, indent=4)

 

  • json.dumps()를 사용해서 JSON format 데이터를 메모리에 만들기
    • 만약 메모리 상에 JSON format 데이터를 만들어놓고 python에서 계속 작업을 하려면 json.dumps() 사용.
    • 주의: 's'를 빠지면 TypeError 발생

 

  • 'sort_keys=True' 설정
    • 키(keys)를 기준으로 정렬해서 직렬화하여 내보냄.

2. JSON 포맷 데이터를 Python 객체로 읽기, 역직렬화, 디코딩
(Read JSON to Python, Deserialization, Decoding)

  • 디스크에 있는 JSON format 데이터를 json.load()를 사용하여 python 객체로 읽어오기 (역직렬화, 디코딩 하기)
import json

file_path = "./sample.json"
with open("file_path", "r") as json_file:   #'sample.json'을 python으로 역직렬화해서 "r" 읽기 모드로 json파일 열고.
    python_file = json.load(json_file)   # 디코딩함

 

  • 메모리에 있는 JSON format 데이터를 json.loads()로 Python 객체로 읽기 (역직렬화, 디코딩하기)
python_file2 = json.loads(json_file2)

0개의 댓글