JSON 파서 단계

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 4분
  • 스크립트를 쓰지 않고도 JSON 페이로드에서 구조적 데이터를 식별합니다. 다른 단계 또는 동작에서 사용할 수 있는 복합 객체 출력에 수신 JSON 컨텐츠를 매핑합니다. 런타임에 JSON 페이로드의 값이 복합 객체 출력을 채웁니다.

    복잡한 개체에 대한 자세한 내용은 복잡한 데이터를 참조하세요.

    주:
    이 단계를 수행하려면 Integration Hub 구독이 필요합니다. 자세한 내용은 법무 일정 - 통합 허브 개요를 참조하십시오. 필요한 플러그인이 활성화되면 해당 단계가 통합 아래에 표시됩니다.

    역할 및 가용성

    워크플로우 스튜디오 동작 단계로 사용할 수 있습니다. action_designer 역할을 가진 사용자는 하나 이상의 작업 단계로 사용자 지정 작업을 만들 수 있습니다.

    페이로드 크기 제한

    런타임 JSON 파서 단계 시 최대 10MB의 페이로드를 지원합니다. 더 큰 페이로드의 경우 작업을 생성합니다 데이터 스트림 . 데이터 스트림 작업에 대한 자세한 내용은 을 참조하십시오 데이터 스트림 작업 및 페이지 매김.

    필드

    필드 설명
    소스 소스 데이터 필드에서 소스 JSON 페이로드가 포함된 데이터 알약을 선택하거나 끌어옵니다. 예를 들어 REST 단계 응답 본문 데이터 알약입니다. 런타임 시, 데이터 소스의 값이 복합 객체 출력을 채웁니다.

    Source data(소스 데이터)와 스크립팅(scripting) 창에 예제 페이로드를 입력하여 복합 객체를 생성합니다. 예를 들어 사용자 목록을 반환하는 REST 단계에서 응답을 구문 분석하는 경우 단일 사용자에 대해 예상되는 JSON 객체를 입력합니다. 다음과 같은 제한 사항이 있는 예제 JSON 페이로드를 생성할 수 있습니다.

    • 다차원 배열은 지원되지 않습니다.
    • JSON 키의 하이픈, 마침표, 공백, 이중 콜론 및 @ 기호는 지원되지 않습니다.
    • 예제 페이로드는 2MB를 초과할 수 없습니다.
    구조화 페이로드 뷰 예제 페이로드를 일반 JSON으로 보거나 구조적 페이로드 뷰 를 전환하여 구조적 노드 트리에서 페이로드를 봅니다. 트리에서 노드를 선택하여 요소의 JSONPath를 복사합니다. Target 필드에 새 요소를 수동으로 추가하는 경우 이 JSONPath를 요소의 고급 옵션 아래에 붙여넣을 수 있습니다.
    대상 작성 Generate Target(대상 생성)을 선택하여 예제 페이로드에서 단계의 출력 구조를 생성합니다. 출력 데이터 구조가 대상 필드에 나타납니다. 각 개체의 자식 요소는 자동으로 문자열 형식으로 생성됩니다. 또는 대상 필드에 요소를 추가하여 대상 복합 객체를 수동으로 만들 수 있습니다.
    대상

    JSON 페이로드의 출력 구조를 보거나 편집합니다. Generate Target(대상 생성)을 클릭하여 구조화된 출력을 생성하거나 요소를 수동으로 추가합니다.

    각 요소에는 객체 편집 뷰의 다음 정보가 포함되어 있습니다.

    • 레이블: 데이터 알약 레이블입니다. 기본적으로 시스템은 JSON 키 이름을 사용합니다.
    • 이름: 출력 요소의 내부 이름입니다.
      주:
      느낌표, 이중 콜론, @ 기호 또는 숫자만 요소 이름에 유효한 값이 아닙니다.
    • 유형: 데이터 유형이며 String, Object, Array.String 또는 Array.Object여야 합니다. 최상위 요소는 Object여야 합니다.
    • 필수: 토글하여 요소를 필수로 만듭니다. 이는 String 형식의 요소에만 적용됩니다.
    • 하위 항목 추가: 하위 항목 추가 아이콘( 하위 항목 추가 아이콘)을 선택하여 중첩된 자식 요소를 추가합니다.

    Object 유형의 요소에는 템플릿으로 저장 고급 옵션이 포함되어 있어 개체의 구조를 복잡한 개체 템플릿으로 저장할 수 있습니다. 그런 다음 이 템플릿을 사용하여 작업에 대한 객체 출력의 스키마를 정의할 수 있습니다.

    String 유형의 요소의 경우 최대 길이, 힌트 및 기본값을 고급 옵션으로 추가할 수도 있습니다.

    Target 헤더에서 출력 구조 변경을 완료하면 Exit Edit Mode 를 선택합니다. 그런 다음 고급 입력 토글 아이콘( 고급 입력 토글 아이콘)을 선택하여 JSONPath 옵션을 볼 수 있습니다.

    JSONPath는 요소의 경로입니다. JSONPath를 수정하여 소스 데이터 요소가 출력의 요소에 매핑되는 방식을 변경합니다. 요소를 수동으로 추가하는 경우 예제 페이로드의 노드에서 JSONPath를 복사하여 요소의 고급 옵션 아래에 붙여넣을 수 있습니다.

    JSON 파서 단계 예

    이 예제에서는 프로덕션 인스턴스에서 테스트 인스턴스의 결함으로 새로 생성된 문제를 추적합니다. 먼저 라는 Parse Problems from Production새 작업을 만듭니다. REST 단계를 추가하여 프로덕션 인스턴스에서 문제 목록을 검색합니다. 그런 다음 JSON 파서 단계를 추가하여 REST 단계를 Response Body 구문 분석하고 문제 [problem] 테이블의 스키마를 나타내는 복합 객체 출력을 제공합니다. 마지막으로 Object Problems from Production라는 유형의 작업 출력을 만듭니다. JSON 파서 단계의 데이터 정제를 root 이 출력의 값 필드에 놓습니다.

    그림 1. 프로덕션 작업에서 문제 구문 분석
    JSON 파서 단계는 문제 기록을 나타내는 복합 객체 출력을 구조화합니다. 그런 다음, 작업의 출력이 JSON 파서 단계의 복합 객체 출력에 매핑됩니다.

    다음으로, 매일 자정에 트리거되는 라는 새 Sync New Problems플로우를 생성합니다. 플로우의 첫 번째 작업은 작업입니다 Parse Problems from Production . 그런 다음 플로우 로직 블록을 For Each 추가하고 프로덕션의 문제 > response 데이터 정제를 항목 필드에 추가합니다. For Each 블록 내에 각 문제의 상태가 신규인지 확인하는 플로우 로직 블록을 추가 If 한 다음, 할당 그룹과 짧은 설명이 프로덕션 인스턴스의 각 새 문제에 매핑되는 테스트 인스턴스에 결함 기록을 생성합니다.

    그림 2. 새 문제 플로우 동기화
    플로우는 프로덕션 인스턴스의 새로운 각 문제에 대해 테스트 인스턴스에 새 결함을 생성합니다.