본문 바로가기

개발/python

[python] Python에서 JSON type 데이터 다루기

파이썬에서 JSON 형태의 데이터를 다루는 법을 알아보겠습니다.

 

 

JSON 파일 읽기

JSON은 데이터를 전송 응답하는데 보편적으로 쓰이는 형식이며, Key와 Value가 쌍을 이루는 구조로 되어있습니다. 이러한 데이터 형식을 처리하기 위해 json 패키지를 import하여 loads() 메소드를 사용합니다.

 

다음은 예시 코드입니다.

 

import json

data = '{ "이름": "홍길동", "나이": 20 }'
json_data = json.loads(data)

print(json_data['이름'])
print(json_data['나이'])

 

json.loads()에 json 데이터를 인자로 넣어주면, python은 기본적으로 json을 Dictionary 형태로 변환합니다. 따라서 위와 같이 json_data의 key값으로 접근하여 print를 하여 실행하게 되면, 다음과 같은 결과가 나올것입니다.

 

홍길동
20

 

또한 json 형식 안에 List 형식은 List로 변환됩니다. 아래는 List를 읽어 for문을 이용하여 출력하는 예시입니다.

 

import json

data = '{"학생": [{"이름": "홍길동", "나이": 20}, {"이름": "김철수", "나이": 19}]}'
json_data = json.loads(data)

for student in json_data['학생']:
    print(student['이름'])
    print(student['나이'])

 

출력 결과는 다음과 같을 것입니다.

 

홍길동
20
김철수
18

 

 

 

JSON 파일로 변환

python의 자료 형에서 JSON 데이터 형식으로 변환하기 위해 json 패키지를 import하여 dumps() 메소드를 사용합니다.

 

다음은 예시 코드 입니다.

 

import json

student = {'이름': '홍길동', '나이': 20}
print(json.dumps(student))
print('')
print(json.dumps(student, indent=2))

파이썬의 Dictionary 자료 형식에서 json.dumps()를 호출하여 JSON형식의 String으로 변환합니다. indent를 지정하여 들여쓰기 수준의 옵션을 설정할 수 있습니다. 설정하지 않으면 default로 None 값이 들어가며 formating 되지 않은 문자열로 처리됩니다.

 

출력결과는 다음과 같을 것입니다.

 

{'이름': '홍길동', '나이': 20}

{
	'이름': '홍길동',
    	'나이': 20
}

 

정리하면 다음과 같습니다.

 

JSON -> python 자료형 : json.loads()

python 자료형 -> JSON : json.dumps()

 

이상 python에서 JSON 데이터 처리 방법을 설명했습니다.

 

감사합니다 :)

 

 

추가+)

JavaScripts에서 JSON 데이터 처리

 

Javascript JSON.parse(), JSON.stringify() 사용하는법

안녕하세요. 오늘은 자바스크립트의 메소드인 JSON.parse()와 JSON.stringify()에 대해 알아보겠습니다. JSON.parse()란? parse 메소드는 string 객체를 json 객체로 변환시켜줍니다. JSON.stringify란? stringify..

ithub.tistory.com