다음을 통해 공유


JSONPath를 사용하여 통합 문서에서 JSON 데이터 변환

Workbooks는 여러 원본 데이터를 쿼리할 수 있습니다. Azure Resource Manager 또는 사용자 지정 엔드포인트와 같은 일부 엔드포인트는 JSON으로 결과를 반환할 수 있습니다. 쿼리된 엔드포인트에서 반환된 JSON 데이터가 원하지 않는 형식인 경우 JSONPath 변환을 사용하여 JSON을 테이블 구조로 변환할 수 있습니다. 그런 다음 테이블을 사용하여 통합 문서 시각화를 그릴 수 있습니다.

JSONPath는 XML에 대한 XPath처럼 JSON에 대한 쿼리 언어입니다. XPath와 마찬가지로 JSONPath를 사용하여 JSON 구조에서 데이터를 추출하고 필터링할 수 있습니다.

JSONPath 사용

이 예제에서 JSON 개체는 저장소의 인벤토리를 나타냅니다. 제목, 작성자 및 가격을 나열하여 상점의 사용 가능한 책 테이블을 만들 것입니다.

  1. 편집을 선택하여 통합 문서를 편집 모드로 전환합니다.

  2. 추가>쿼리 추가 링크를 사용하여 통합 문서에 쿼리 컨트롤을 추가합니다.

  3. 데이터 원본 유형을 JSON으로 선택합니다.

  4. JSON 편집기를 사용하여 다음 JSON 코드 조각을 입력합니다.

    { "store": {
        "books": [ 
          { "category": "reference",
            "author": "Nigel Rees",
            "title": "Sayings of the Century",
            "price": 8.95
          },
          { "category": "fiction",
            "author": "Evelyn Waugh",
            "title": "Sword of Honour",
            "price": 12.99
          },
          { "category": "fiction",
            "author": "Herman Melville",
            "title": "Moby Dick",
            "isbn": "0-553-21311-3",
            "price": 8.99
          },
          { "category": "fiction",
            "author": "J. R. R. Tolkien",
            "title": "The Lord of the Rings",
            "isbn": "0-395-19395-8",
            "price": 22.99
          }
        ],
        "bicycle": {
          "color": "red",
          "price": 19.95
        }
      }
    }
    
  5. 결과 설정 탭을 선택하고 결과 형식을 JSON 경로로 전환합니다.

  6. 다음 JSON 경로 설정을 적용합니다.

    • JSON 경로 테이블: $.store.books. 이 필드는 테이블 루트의 경로를 나타냅니다. 이 경우 상점의 재고에 주의해야 합니다. 테이블 경로는 JSON을 책 정보로 필터링합니다.

      열 ID 열 JSON 경로
      타이틀 $.title
      작성자 $.author
      가격 $.price

    열 ID는 열 헤더입니다. 열 JSON 경로 필드는 테이블의 루트에서 열 값까지의 경로를 나타냅니다.

  7. 쿼리 실행을 선택합니다.

    Screenshot that shows editing a query item with JSON data source and JSON path result format.

정규식을 사용하여 값 변환

표준 형식이 아닌 일부 데이터가 있을 수 있습니다. 해당 데이터를 효과적으로 사용하려면 해당 데이터를 표준 형식으로 변환해야 합니다.

이 예제에서 게시된 날짜는 YYYMMMDD 형식입니다. 코드는 이 값을 텍스트가 아닌 숫자 값으로 해석하여 날짜가 아닌 오른쪽 맞춤 숫자를 생성합니다.

결과 설정에서 형식, RegEx 일치바꾸기 필드를 사용하여 결과를 실제 날짜로 변환할 수 있습니다.

결과 설정 필드 설명
Type API에서 반환하는 값의 형식을 명시적으로 변경할 수 있습니다. 이 필드는 일반적으로 설정되지 않은 상태로 두었지만 이 필드를 사용하여 값을 다른 형식으로 강제 적용할 수 있습니다.
정규식 일치 정규식을 입력하여 전체 값 대신 API에서 반환하는 값의 일부(또는 부분)를 사용할 수 있습니다. 이 필드는 일반적으로 바꾸기 필드와 결합됩니다.
바꿀 항목 이 필드를 사용하여 정규식과 함께 새 값을 만듭니다. 이 값이 비어 있으면 기본값은 식의 일치 결과인 $&입니다. 다른 출력을 생성하는 데 사용할 수 있는 다른 값을 보려면 string.replace 설명서를 참조하세요.

YYYMMDD 형식을 YYYY-MM-DD 형식으로 변환하려면 다음을 수행합니다.

  1. 그리드에서 게시된 행을 선택합니다.

  2. 차트에서 열을 사용할 수 있도록 형식 필드에서 날짜/시간을 선택합니다.

  3. Regex 일치 필드에서 ([0-9]{4})([0-9]{2})([0-9]{2}) 정규식을 사용합니다. 이 정규식은 다음과 같습니다.

    • 4자리 숫자, 2자리 숫자, 또 다른 2자리 숫자와 일치합니다.
    • 괄호는 다음 단계에서 사용할 양식 캡처 그룹입니다.
  4. 바꾸기에서 $1-$2-$3 정규식을 사용합니다. 이 식은 캡처된 각 그룹에 하이픈이 있는 새 문자열을 만들어 "12345678"을 "1234-56-78"로 바꿉니다.

  5. 쿼리를 다시 실행합니다.

    Screenshot that shows JSONpath converted to date-time format.

다음 단계