본문으로 바로가기

[Python] JSON 파일 만들고 읽기

category 개발/파이썬 2019. 2. 1. 00:09

JSON은 Javascript 구문에서 파생 된 텍스트 기반 형식으로 독립적이며, 보통 웹 응용 프로그램에서 일반적으로 클라이언트와 서버간에 데이터를 전송하는 데 사용됩니다. 


파이썬은 객체 직렬화 및 직렬화 해제를 위해 json 이라는 내장 모듈을 제공 합니다. json 모듈을 사용하려면 다음과 같이 불러올 수 있습니다.



import json


JSON 모듈은 다음과 같은 기능을 제공합니다. 


dump(obj, fileobj)

dumps(obj)

load(fileobj)

loads(s)


여기서 obj 는 직렬화 되는 오브젝트를 뜻하며, fileobj 는 데이터가 기록되는 파일등을 말합니다. 다음은 예시입니다.



users = {
'name' : "김헝그리",
'age' : 13,
'address' : {
'city' : "서울",
'state' : "Y"
},
'isAlive' : False
}

with open('users.json', 'w') as f:
json.dump(users, f)

data = open('users.json', 'r').read()
data = json.loads(data)
print(data['name']) # 홍길동


위 형식은 users 변수가 Dict 타입 입니다. 다음은 List 타입 입니다.



array = '{"마실꺼": ["커피", "차", "물"]}'
data = json.loads(array)
for element in data['마실꺼']:
print (element) # 커피, 차, 물

List 타입 데이터 추가하기


users = [
{
'state': 0,
'user' : 'account1',
'email': 'google.com'
},
{
'state': 0,
'user' : 'account1',
'email': 'google.com'
}
]



위와 같은 데이터가 있다고 가정할때 추가하기 위해선 append 메소드를 사용합니다. 만약 코드가 실행되지 않는다면 type(변수)를 사용해 데이터 타입이 list 인지 확인하세요. 다음은 추가하기 위한 코드입니다.



users.append({'state': state, 'user' : user, 'email' : email})