- JSON (JavaScript Object Notation) > JSON은 국제표준은 아니지만 표현구조가 XML 보다 쉽고 XML 보다 많이 사용된다.JSON은 데이터를 시스템에서 추출해 두 시스템 간에 쉽게 이동할 수 있게 해준다.파이썬의 오브젝트와 딕셔너리 표현법을 닮았다.> JSON은 데이터를 겹쳐놓은 리스트 혹은 딕셔너리로 표현한다.
- 파이썬의 오브젝트는 데이터 컬렉션이나 데이터를 정리하기 위해 사용하는 메서드라고 할 수 있는 예)가의 예를 들어 보자.
- 클래스(class): 집의 설계도, 집의 상세설명 객체(object/instance): 집
- 집의 설계도(클래스)를 바탕으로 여러 집(객체)을 지을 수 있다.
1.1 JSON 사용법 JSON 을 사용하기 위해서는 json 을 가져온 후 사용하여야 한다.
예 1) 데이터를 패싱하는 중첩된 딕셔너리 Import를 사용하여 json import를 사용하여 json을 불러오는 data=”{“name”: “Chuck” “phone”: {“type”: “intl”, “number”: “17343034456”}, “email”:{“hide
중괄호 {}를 사용하며, 그 안에서 문자열을 이루고 있는 키와 값의 쌍으로 이루어져 있다.키와 값은 하나의 오브젝트(object)이다.중괄호 {}는 적절하게 정렬되어야 한다.info = json.loads(data).loads()에서 데이터 패싱 데이터가 중괄호 {}로부터 이루어지기 때문에 info는 딕셔너리임을 알 수 있다.print ( ‘ Name : ‘ , info [ ” name ” ] ) print ( ‘ Hide : ‘ , info [ ” email ” ] [ ” hide ” ] )
파이썬 표준 문법대로 사용 가능하다info[name]는 chuck을 반환info[email][hide]는 yes를 반환
.loads()는 – load from string을 줄인 것이다.json 라이브러리로 문자열을 읽고 패싱하여 중괄호, 빈칸, 쉼표 그리고 문법 오류를 하나의 객체로 만들어 준다.에러가 나지 않을 경우 하나의 구조화된 표현을 얻게 된다.-json 오브젝트가 그대로 파이썬 딕셔너리로 변환된다.
예2) 데이터를 패싱하는 중복된 목록 import jsonjson 읽기 input=”[{“id”: “001”, “x”: “2”, “name”: “Chuck”}, {“id”: “009”, “x”: “7”, “name”: “Chuck”}, “d”2”, “x”에서 되는 목록
info = json . loads ( input )
print(‘user count:’, len(info) 위와 마찬가지로 json 파서.loads()를 사용하여 문자열을 읽는다.
len()을 사용해서 길이를 확인해 보면 info 에 두 가지 항목이 포함되어 있음을 확인할 수 있다.
input이 대괄호가 되어 있기 때문에 info는 목록인 for item info:print(‘Name:’, item[name’) print(‘Id’, item[‘id]) print(‘Attribute:’, item[‘x’)for 반복문을 사용한다.