2017/06

개발/자바

JSON 스키마

XML의 DTD나 스키마와 유사하게 json에도 스키마에 대한 표준적인 부분이 존재하고 있는데요(http://json-schema.org/), 스키마 포맷도 json 포맷입니다. { "contentsId": "123456", "title": "꽹과리", "metadata": [ { "propertyName": "category", "propertyContent": "타악기" }, { "propertyName": "category", "propertyContent": "동양악기" } ] } 위의 예제 데이터에 대한 스키마를 작성하면 다음과 같이 작성할 수 있습니다. 스키마 포맷{ "type": "object", // 루트 타입은 객체 "properties": { // 속성 정의 "contentsId": {..

개발/자바

JSON STREAMING API

크지 않은 json 데이터를 파싱할 때는 한번에 파싱해도 메모리 사용량이 많지 않지만,파싱해야할 json 데이터가 굉장히 크다면 메모리 사용량이 많기 때문에 주의가 필요한 부분입니다. 참고삼아 제 로컬 PC에서 jackson 라이브러리로 json 파일을 객체로 파싱하는 로직을 실행해서 visualvm으로 확인해본 결과는 다음과 같았습니다.- 약 300 KB 파일을 한번에 객체로 파싱 : 약 60 MB 힙메모리 사용- 약 50 MB 파일을 한번에 객체로 파싱 : 약 150 MB 힙메모리 사용- 약 150 MB 파일을 한번에 객체로 파싱 : 약 750 MB 힙메모리 사용 jackson 사용 예제streaming api는 json 데이터를 다음과 같은 토큰 단위로 읽어서 처리합니다.- 객체의 시작( { ), ..

bebeside77
'2017/06 글 목록