
JSON 파일 쓰기
임의 데이터를 JSON (JavaScript Object Notation) 포맷의 파일에 저장하는 방법에 대하여 작성한다.
JSON 파일을 구성하는 요소와 관련 파이썬 데이터 타입은 아래 표와 같다.
| JSON | Python |
| object | dict |
| array | list |
| string | str |
| number (int 또는 float) | int 또는 float |
| true | True |
| false | False |
| null | None |
임의 데이터를 JSON 포맷의 파일에 저장하기 위해 파이썬의 json 패키지를 import 한다.
import json
JSON 포맷의 파일에 데이터를 쓰기 위해 json의 dump 함수를 사용한다.
json.dump(obj,
fp,
*,
skipkeys=False,
ensure_ascii=True,
check_circular=True,
allow_nan=True,
cls=None,
indent=None,
separators=None,
default=None,
sort_keys=False,
**kw)
우선 파이썬 데이터 타입 리스트를 JSON 파일로 저장한다. 파이썬 데이터 타입 리스트는 JSON의 array 요소와 연관된다.
<코드 1>
import json
data = [
1,
2,
3
]
with open('my_json.json', 'wt') as j_file:
json.dump(data, j_file, indent=4)
위의 <코드 1>을 실행하면, my_json.json 파일이 생성된다.

JSON 파일의 구성 요소 array 외 다른 요소에 대해서도 하나씩 사용해 본다.
<코드 2>
import json
data = [
{'dic 1': 1, 'dic 2': '2'},
[1, 'list 1'],
'str',
int(1),
float(1.),
True,
False
]
with open('my_json.json', 'wt') as j_file:
json.dump(data, j_file, indent=4)

element
JSON 파일은 element로 구성되며, element는 value 중의 하나의 요소로 정의된다.
json
element
element
value
value
value에 속하는 요소는 아래와 같다.
value
object
array
string
number
true
false
null
object
JSON 파일의 object는 파이썬의 딕셔너리와 연관된다.
JSON 파일의 object가 파이썬의 딕셔너리와 차이나는 점은 object는 키의 값으로 string이 사용된다는 것이다.
아래의 코드에서와 같이 파이썬 딕셔너리의 키 값을 정수로 정의하면,
<코드 3>
import json
data = {1: 1}
with open('my_json.json', 'wt') as j_file:
json.dump(data, j_file, indent=4)
JSON 파일에선 string 타입으로 변경됨을 확인한다.

json.org에 설명되어 있는 object에 대한 정의 규칙은 아래와 같다.

참고
2021.05.10 - [학습 노트/Python - 내장 라이브러리] - [Python][json] JSON 파일 읽기
'코딩 > 파이썬 기초' 카테고리의 다른 글
| 파이썬 튜토리얼 040. global, nonlocal 키워드를 통한 namespace 이해 (0) | 2021.08.20 |
|---|---|
| 파이썬 튜토리얼 039. 오류 처리를 위한 try, except, else, finally 문 그리고 raise 문 (0) | 2021.08.14 |
| 파이썬 튜토리얼 037. 텍스트 파일 읽기 (0) | 2021.08.04 |
| 파이썬 튜토리얼 036. 텍스트 파일 쓰기 (0) | 2021.08.03 |
| 파이썬 튜토리얼 035. Formatted String Literals와 str.format() 메서드 (0) | 2021.08.02 |