---
title: "필터, 수식, 그리고 차트를 사용하여 JSON 데이터를 분석합니다"
date: "2022-05-04"
categories: 
  - "json"
  - "tools"
tags: 
  - "data-analysis"
  - "grid-view"
  - "json"
  - "tools"
  - "xmlspy"
description: XMLSpy의 필터, 수식, 차트 기능을 활용하여 JSON 데이터를 효과적으로 분석하는 방법을 알아보세요. 데이터의 명확성을 높이고 유용한 정보를 얻는 기술을 익히십시오.
---
Status: #blog

Tags:  #data-analysis #grid-view #json #tools #xmlspy

Categories: [json](/blog/ko/category/json.md) | [development](/blog/ko/category/development.md)
# 필터, 수식, 그리고 차트를 사용하여 JSON 데이터를 분석합니다

소프트웨어 개발자 및 기타 데이터 전문가들은 효율적인 데이터 처리 프로세스를 설계하기 전에 새로운 데이터 항목들을 검토해야 하는 경우가 많습니다. JSON 형식이 데이터 교환에 점점 더 널리 사용됨에 따라, 데이터 크기를 줄이는 장점은 기본 데이터 구조의 명확성을 잃을 수 있다는 단점을 가질 수 있습니다.

XMLSpy는 XML 데이터의 확인, 모델링 및 [JSON 파일 편집](https://www.altova.com/ko/xmlspy-xml-editor/json_editor)  그리고 JSON 데이터를 분석하기 위한 다양한 기능을 제공하며, 여기에는 필터 적용, 수식 사용, 차트 생성 등이 포함됩니다.

자, 한번 살펴봅시다.

![](/blog/images/weather_forecast.jpg)

<!--more-->

XMLSpy의 온라인 도움말과 함께 설치되는 예제 프로젝트는 시작하기에 아주 좋은 자료입니다.

온라인 도움말에는 필터와 수식을 적용하는 방법에 대한 설명과 그림이 포함되어 있습니다. 아래 그림에서는 JSON 문서(레코드 앨범에 대한 데이터 포함)에 필터를 적용하여 브라이언 메이가 작곡한 곡만 표시하도록 설정되었습니다

[![XMLSpy의 JSON 그리드 뷰에서 필터를 사용하여 JSON 데이터를 분석할 수 있습니다.](/blog/images/filter-from-help.png)](filter-from-help.png)

이 그림에서는 JSON 파일이 식료품 주문에 대한 설명을 담고 있으며, 총 가격을 계산하기 위한 공식이 적용되어 있습니다

[![JSON 그리드 뷰에서 사용되는 수식의 예시입니다](/blog/images/formula-from-help.png)](formula-from-help.png)

"Chart.jsonc" 파일은 월별 최소 및 최대 온도를 나타냅니다. 이 데이터는 각 월의 평균값을 계산하여 그래프를 생성하는 데 사용됩니다

[![JSON 그리드 뷰에서 JSON 데이터를 분석하기 위해 차트를 활용하십시오](/blog/images/chart-example-grid.png)](chart-example-grid.png)

위에 제시된 모든 이미지는 .jsonc 파일에서 생성되었습니다. JSON5 이외의 JSON 형식은 주석을 허용하지 않기 때문에, JSON 문서에 주석을 추가할 수 있도록 "JSON with Comments" 형식(JSONC)이 도입되었습니다.

JSON 그리드 뷰에 사용되는 필터, 수식, 차트 기능은 XMLSpy가 JSON 데이터를 분석하도록 하는 XQuery 함수로 구현되어 있으며, 이러한 함수들은 주석 형태로 저장되어 있습니다. "Chart.jsonc" 파일을 텍스트 보기로 확인하면 이러한 내용을 확인할 수 있습니다

[![텍스트 보기에서 차트 예시를 보여줍니다.](/blog/images/chart-example-text.png)](chart-example-text.png)

이러한 예시들은 실제 개발 과제를 효율적으로 해결하기 위한 전략을 제시하며, 특히 외부 소스에서 대용량 JSON 데이터 파일을 처리해야 하는 프로젝트에 유용합니다.

### 웹 서비스에서 가져온 JSON 데이터를 분석합니다

만약 우리가 전 세계의 임의의 도시들에 대한 5일간의 날씨 예보 데이터를 처리하는 임무를 맡았다고 가정해 봅시다. 이러한 종류의 데이터는 주요 목적지 간의 운송 일정을 예측하거나, 열대 지역에서 휴가를 보내는 레저 요트 선원들에게 유용할 수 있습니다. 날씨 정보에 대한 다양한 API가 존재하며, 이들은 모두 다소 다른 형식으로 데이터를 제공합니다. 이번 글에서는 openweathermap.org API에서 제공하는 데이터를 살펴보겠습니다.  

XMLSpy에서 파일/열기 메뉴를 통해 API에 직접 REST 요청을 보낼 수 있습니다. 열기 대화 상자 하단에 있는 "URL로 전환" 버튼을 클릭하고, API 호출을 파일 URL로 입력하면 됩니다

[![XMLSpy에서 웹 서비스 URL에서 JSON 파일을 열기](/blog/images/URL-open-dialog.png)](URL-open-dialog.png)

API 호출 결과는 메인 편집 창에 표시됩니다. JSON 데이터에는 형식을 식별하거나 버전을 나타내는 정보가 포함되어 있지 않으므로, 자동으로 인식되지 않을 수 있습니다. 하지만 "파일/다른 이름으로 저장" 기능을 사용하여 ".jsonc" 확장자를 적용할 수 있습니다

[![XMLSpy에서 특정 URL로부터 가져온 JSON 데이터](/blog/images/example1-1.png)](example1-1.png)

"그리드" 버튼을 클릭하면 화면이 그리드 형태로 바뀌고, JSON 데이터가 훨씬 더 이해하기 쉬워집니다

[![XMLSpy의 그리드 보기에서 JSON 데이터를 분석합니다](/blog/images/example1-2.png)](example1-2.png)

우선, 해당 지역의 온도가 영하로 내려갈 것으로 예상되는지 확인하는 것이 중요합니다. 이를 쉽게 확인하려면 목록 배열에 필터를 적용할 수 있습니다. 배열 상단의 "[ ]" 목록 오른쪽에 있는 필터 아이콘을 클릭하고, XMLSpy 도움말에 나와 있는 필터 예제를 참고하여 XQuery 표현식을 입력합니다. 이렇게 하면 필터가 즉시 적용되어 영하로 예측된 온도에 대한 정보만 표시됩니다

[![JSON 데이터를 분석하기 위해 필터를 적용하는 방법](/blog/images/example1-3.png)](example1-3.png)

현재 우리는 온도 값에만 관심이 있으므로, 위에서 보시는 것처럼 각 항목 번호 왼쪽에 있는 회색 스크롤 바를 클릭하여 배열 내 각 항목의 표시를 축소했습니다. 이제 이 특정 지역은 밤에 꽤 추울 것으로 예상됩니다!

이제 이 예측에서 가장 낮은 온도가 얼마인지 찾아보겠습니다. 이를 위해 특정 공식을 사용할 수 있습니다. 아래 그림에서 목록 배열에 새로운 노드를 추가하고, 해당 노드의 유형을 "공식"으로 변경한 다음, 공식에 이름을 부여했습니다. 그리드 뷰에 공식을 직접 입력하는 대신, XQuery 헬퍼 창을 사용하여 XQuery 표현식을 생성, 테스트 및 디버깅할 수 있습니다

[![JSON 그리드 보기에서 XQuery 도우미 창을 사용하여 수식을 만드는 방법](/blog/images/example1-4.png)](example1-4.png)

"[XQuery 편집기](https://www.altova.com/ko/xmlspy-xml-editor#xquery_editor)에서 완성된 표현식을 복사하여 JSON 그리드 보기로 붙여넣을 수 있습니다."

[![XQuery 창에서 수식을 작성하고, 테스트하고, 오류를 수정할 수 있습니다](/blog/images/example1-5.png)](example1-5.png)

비슷한 전략을 사용하고, "Chart.jsonc" 예제를 참고하여, 데이터를 시각화하는 차트를 추가할 수 있습니다

[![JSON 데이터를 시각화하기 위한 차트 적용](/blog/images/example1-6-2.png)](example1-6-2.png)

ChartConfig 요소는 차트 기능에서 사용되는 매개변수를 정의하지만, 차트 기능 자체도 XQuery 창 내에서 구축할 수 있습니다

[![XQuery 창에서 차트 표현식을 생성합니다](/blog/images/example1-6a.png)](example1-6a.png)

성공적인 평가가 완료되면 결과 창에 이진 이미지 데이터가 표시됩니다. 또한, 차트를 마우스 오른쪽 버튼으로 클릭하여 이미지 파일로 내보낼 수도 있습니다. 이미지의 크기는 ChartConfig 설정의 너비와 높이 매개변수에 의해 결정됩니다.

.jsonc 데이터에 추가된 기능들은 주석 형태로 저장되며, 여기에서 텍스트 보기로 전환했을 때 확인할 수 있습니다.

[![텍스트 보기에서 보이는 차트 표현 방식입니다](/blog/images/example1-7.png)](example1-7.png)

API에서 가져온 다른 JSON 데이터에도 동일한 기능을 적용하려면 두 가지 방법이 있습니다. 첫 번째는 XQuery 도우미 창을 사용하여 임시로 표현식을 저장하고, 다른 .jsonc 파일에 적용하는 것입니다. 두 번째는 모든 표현식을 복사하여 붙여넣는 방법입니다.

먼저, 분석을 더욱 심층적으로 하기 위해 몇 가지 추가적인 계산을 추가해 보겠습니다

[![요약된 값들을 포함하는 JSON 데이터.](/blog/images/example1-8.png)](example1-8.png)

원본 문서에서 댓글을 복사하여 API를 통해 생성된 새로운 데이터 세트에 붙여넣으면 즉시 분석 결과를 얻을 수 있습니다

[![수식을 복사하여 새로운 JSON 파일에 저장합니다. 또는, 차트도 복사하여 새로운 JSON 파일에 저장할 수 있습니다](/blog/images/example1-9.png)](example1-9.png)

발견한 내용을 다른 팀원들과 쉽게 공유할 수 있습니다. 함수 정의 옆의 디스크 아이콘을 클릭하면, 결과가 JSON 형식의 데이터로 파일에 저장됩니다

[![임베딩 공식은 JSON 형식의 데이터로 결과를 반환합니다](/blog/images/example1-10.png)](example1-10.png)

또는, 차트를 이미지 파일로 저장하여 보고서에 사용할 수도 있습니다

[![보고서에 사용하기 위해 내보낸 차트 이미지.](/blog/images/Martinique-forecast.png)](Martinique-forecast.png)

모든 데이터 통합 및 보고 작업은 원본 데이터에 대한 명확한 이해에서 시작되어야 합니다. XMLSpy를 사용하여 JSON 데이터를 분석하면 프로젝트 성공에 더 빠르게 도달할 수 있습니다. 추가적으로, 이 [동영상 데모](https://www.youtube.com/watch?v=ZTt-_Te9a9c)는 JSON 그리드 뷰의 필터, 함수, 차트 등 다양한 강력한 기능을 보여줍니다.

[지금 바로 무료 체험판을 다운로드하세요](https://www.altova.com/ko/download) 체험판에는 온라인 도움말, 튜토리얼, 그리고 다양한 실제 사례들이 포함되어 있습니다!
