Seongwon Lim

[Python] json 데이터를 dictionary로 변경하기 본문

Python

[Python] json 데이터를 dictionary로 변경하기

limsw 2022. 5. 30. 16:02
반응형

서론

파이썬으로 프로그래밍을 하다보면 JSON 데이터를 읽어와서 딕셔너리 형태로 변환 후 사용해야 하는 경우가 있다.

반대로 딕셔너리 형태의 데이터를 JSON 형식으로 변환하여 저장하는 경우도 존재한다.

 

그래서 이번 글에서는 파이썬에서 JSON to Dict, Dict to JSON 하는 법을 간단하게 알아보고자 한다.

Json 데이터를 Dictionary 형태로 변환하기

먼저, test.json 이라는 파일을 만들고 데이터를 다음과 같이 정의했다.

{
  "id": 1,
  "first_name": "Sully",
  "last_name": "Goulder",
  "email": "sgoulder0@list-manage.com",
  "gender": "Male",
  "ip_address": "47.65.25.193"
}

그리고 JSON 파일을 딕셔너리 형태로 불러오기 위해서는 다음과 같이 코드를 정의하여 사용할 수 있다.

import json

with open('./test.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

print(data) #  {'id': 1, 'first_name': 'Sully', 'last_name': 'Goulder', 'email': 'sgoulder0@list-manage.com', 'gender': 'Male', 'ip_address': '47.65.25.193'}
print(type(data)) #  <class 'dict'>
  • JSON to Dictionary를 할 때에는 json 모듈의 load() 메서드를 사용한다.
  • 그리고 data 변수의 타입을 출력해보면 위와 같이 딕셔너리를 뜻하는 'dict' 형태로 출력되는 것을 확인할 수 있다.

이번에는 반대로 딕셔너리 형태의 데이터를 JSON 파일로 저장해보자.

딕셔너리 데이터를 JSON 형태로 변환하기

import json

data = {'id': 1, 'first_name': 'Sully', 'last_name': 'Goulder', 'email': 'sgoulder0@list-manage.com', 'gender': 'Male',
        'ip_address': '47.65.25.193'}

with open('./result.json', 'w', encoding='utf-8') as f:
    json.dump(data, f)
  • 딕셔너리 데이터를 정의한 뒤, 이번에는 JSON 파일에 데이터를 저장하기 위해 Write를 의미하는 'w' 인자를 넣었다.
  • 다음으로 데이터를 쓸 때에는 json 모듈의 dump() 메서드를 사용한다.

result.json 파일의 결과를 살펴보면 다음과 같다.

{"id": 1, "first_name": "Sully", "last_name": "Goulder", "email": "sgoulder0@list-manage.com", "gender": "Male", "ip_address": "47.65.25.193"}

번외

딕셔너리 데이터를 JSON 형태로 저장할 때 한글로 작성된 데이터의 경우 글자 깨짐 현상이 발생할 수 있다.

이 때에는 dump()의 인자에 다음과 같이 추가하여 해결할 수 있다.

json.dump(data, f, ensure_ascii=False)

 

Comments