더북(TheBook)

JSON은 다음 데이터 타입을 지원한다.

 

◼︎ 기본 데이터 타입 : 문자열, 숫자, 참(true), 거짓(false), null

◼︎ 배열(arrays) : 파이썬의 리스트와 같다. 배열은 대괄호([])로 씌워서 표현한다. 배열 안의 아이템이 같은 데이터 타입일 필요는 없다.

[1, 3.14, "a string", true, null]


◼︎ 객체(objects) : 파이썬의 딕셔너리에 대응된다. 객체는 중괄호({})로 씌워서 표현한다. 객체 안의 모든 아이템은 키(key)와 값(value)으로 구성되며, 쉼표로 구분한다.

{"age" : 37, "gender" : "male", "married" : true}

 

◼︎ 배열이나 객체, 기본 데이터 타입으로 구성된 어떤 재귀적인 조합(객체로 구성된 배열, 배열을 아이템 값으로 가지는 객체 등)

 

안타깝게도 집합(sets)이나 복소수(complex number) 같은 몇몇 파이썬 데이터 타입과 구조는 JSON 파일에 저장할 수 없다. 그러므로 이러한 타입을 다룰 때는 JSON으로 내보내기 전에 먼저 표현 가능한 데이터 타입으로 변형하는 작업을 해야 한다. 복소수는 2개의 실수가 담긴 배열로 변환하고, 집합은 아이템의 배열로 저장할 수 있다.

복잡한 데이터를 JSON 파일에 저장하는 것을 직렬화(serialization)라고 한다. 그 반대는 역직렬화(deserialization)다. 파이썬은 JSON 직렬화와 역직렬화를 json 모듈의 함수로 수행한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.