---
sourceDocument: 호주 워크플로우 빌드
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/build-workflows

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 워크플로우 빌드

ft:clusterId :

    - crworkflow

bundleId :

    - crworkflow

workflow :

    - Creator


---

# 복잡한 데이터에 대한 스크립트 지원

# 복잡한 데이터에 대한 스크립트 지원 {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 5분

스크립트에서 복잡한 데이터를 생성하고 참조합니다. 소스 데이터가 데이터 스트림, REST 단계 응답 또는 기록 조회 단계에서 제공되는 경우 스크립트를 사용합니다.

데이터가 이러한 소스에서 제공될 때 스크립트를 사용하여 복잡한 데이터를 생성합니다.  
{#script-support-complex-data__table_b4b_4cp_phb__entry__2}

| 데이터 소스 | 에서 복잡한 데이터 생성/매핑 |
|-|-|
| 데이터 스트림 작업 응답 스트림 | 스크립트 파서 단계 |
| REST 단계 응답 | 스크립트 단계 |
| 기록 조회 단계 | 스크립트 단계 |
[표 1. 스크립트가 필요한 데이터 소스]

{#script-support-complex-data__table_b4b_4cp_phb}

## 데이터 스트림 작업 응답 스트림 {#script-support-complex-data__section_cnh_yt4_phb}

데이터 스트림 작업은 파서 스크립트를 사용하여 스트림 항목 값을 복합 객체 값에 매핑합니다. 파서 스크립트를 작성할 때는 데이터 스트림 형식에 적합한 JavaScript 메서드를 사용합니다. 예를 들어 [JSON - Scoped](https://www.servicenow.com/docs/access?context=JSONScopedAPI&version=australia&pubname=australia-api-reference&ft:locale=en-US) 클래스를 사용하여 JSON 데이터 스트림을 구문 분석하거나 인코딩합니다.

파서 스크립트는 targetObject 속성뿐만 아니라 데이터 스트림 입력 및 출력 객체에 액세스할 수 있습니다. 응답 스트림을 구문 분석하여 복잡한 데이터를 생성하는 방법에 대한 자세한 내용은 [데이터 스트림 작업을](https://www.servicenow.com/docs/access?context=create-data-stream-action&version=australia&pubname=australia-integrate-applications&ft:locale=en-US) 참조하십시오.

## REST 단계 응답 {#script-support-complex-data__section_wyb_dh4_nhb}

스크립트 단계로 구문 분석하여 REST 단계 응답을 하나 이상의 복잡한 객체로 변환할 수 있습니다. 스크립트 단계의 응답에 액세스하려면 입력 스크립트 변수를 생성하고 이전 REST 단계의 응답 페이로드에 매핑해야 합니다. 스크립트 입력 변수 생성에 대한 자세한 내용은 다음을 참조하십시오 [스크립트 단계](https://servicenow-prod.fluidtopics.net/tn2KwvYCpDvkMaj8pR3xmg "재사용 가능한 동작 내에서 실행하도록 사용자 지정 JavaScript를 추가합니다. 대부분의 핵심 작업과 단계는 일반적인 사용 사례에 적합하지만 스크립트 단계를 빌드하여 핵심 단계에서 충족하지 않는 동작을 실행할 수 있습니다.") .

REST 응답 값을 복합 객체 값에 매핑하는 스크립트를 작성합니다. REST 응답 스크립트를 작성할 때 JSON parse() 메서드와 같은 응답 형식에 적합한 JavaScript 메서드를 사용합니다.  
주:  
복잡한 데이터를 문자열 입력의 소스로 사용하는 경우 에서는 워크플로우 스튜디오 JSON 문자열로 자동 변환됩니다.

복잡한 데이터에서 REST 요청을 생성하기 위해 스크립트 단계를 사용할 필요가 없습니다. 이전 작업 또는 단계에서 복잡한 데이터를 생성한 다음 REST 단계의 문자열 입력에 매핑할 수 있습니다. 실행 시에 작업 또는 플로우는 복잡한 데이터를 JSON 표현으로 변환합니다.

예를 들어 데이터 수집 작업에 사용되는 [동적 입력 시작하기](https://servicenow-prod.fluidtopics.net/86rslwRnH7NRO0n81UgrSA#getting-started-dynamic-input "플로우에서 사용 가능한 모든 유형의 동적 입력을 사용하는 것을 보여주는 샘플 작업을 만듭니다.") 스크립트 단계를 참조하십시오. 테이블 및 필드 이름을 가져오기 위한 데이터 수집 작업은 모두 스크립트 단계를 사용하여 REST 응답을 JSON 객체로 구문 분석합니다. 또한 두 데이터 수집 작업 모두 복잡한 데이터를 JSON 객체로 저장하는 출력 변수를 생성합니다.

## 기록 조회 단계 {#script-support-complex-data__section_osw_gzn_nhb}

플로우는 기록 목록을 처리하기 위해 각 플로우 논리 를 사용할 수 있지만 작업에는 스크립트 단계가 필요합니다. 스크립트 단계는 For each 플로우 논리를 `For` 또는 `While` 루프와 같은 JavaScript로 대체합니다.

스크립트 단계에서 기록 데이터에 액세스하려면 입력 스크립트 변수를 생성하여 이전 조회 단계의 기록 데이터에 매핑해야 합니다. 스크립트 입력 변수 생성에 대한 자세한 내용은 다음을 참조하십시오 [스크립트 단계](https://servicenow-prod.fluidtopics.net/tn2KwvYCpDvkMaj8pR3xmg "재사용 가능한 동작 내에서 실행하도록 사용자 지정 JavaScript를 추가합니다. 대부분의 핵심 작업과 단계는 일반적인 사용 사례에 적합하지만 스크립트 단계를 빌드하여 핵심 단계에서 충족하지 않는 동작을 실행할 수 있습니다.") .

사용자 기록 목록을 연락처 객체의 배열로 변환하는 예시 작업을 참조하십시오 [기록 목록에서 객체 배열을 생성하는 사용자 지정 동작 생성](https://servicenow-prod.fluidtopics.net/q3B_zVDwK86grYzDOespcA "사용자 기록 목록에서 객체 배열을 생성합니다. 스크립트 단계를 사용하여 기록 목록을 반복하는 방법에 대해 알아봅니다.") .  
주:  
기록 조회 작업에는 기록 데이터를 복잡한 데이터로 변환하는 스크립트 단계가 필요하지 않습니다. 사용자 지정 작업을 생성하여 기록을 객체로 변환하고 사용자 지정 작업에 For Each 플로우 논리를 적용할 수 있습니다. 스크립트를 사용하지 않고 복합 객체를 만드는 예제는 를 참조하십시오 [사용자 지정 작업을 생성하여 기록에서 객체 생성](https://servicenow-prod.fluidtopics.net/NpH0KNaKoPFgSiyfbzV61w "사용자 기록에서 객체를 생성합니다. 작업 출력을 사용하여 기록 값에서 객체를 만드는 방법에 대해 알아봅니다.")[사용자 지정 플로우를 생성하여 목록의 각 기록에 대한 객체 생성](https://servicenow-prod.fluidtopics.net/G0Fs~DAKBSkeGYESchbo5g "목록의 각 사용자 기록에 대한 객체를 생성합니다. 플로우 논리를 사용하여 기록 목록을 반복하는 방법에 대해 알아봅니다.") .

## 닷워킹 객체 구조 {#script-support-complex-data__section_lll_t1z_hhb}

구조의 경로를 닷워킹하여 객체 구조에서 요소를 참조할 수 있습니다. 모든 복합 데이터 경로는 입력을 위한 전역 객체, 출력을 위한 전역 객체 또는 스크립트에서 생성한 배열이나 객체의 이름인 데이터 소스의 이름으로 시작합니다.

경로의 다음 이름은 마침표 문자(점이라고도 함)로 구분된 참조되는 각 구조 요소의 이름입니다. 구조적 요소의 이름을 나열하는 것은 테이블 구조를 특정 참조 필드로 나열하는 참조 필드를 닷워킹하는 것과 동일합니다.  
주:  
닷워킹 경로는 항상 레이블이 아닌 구조적 요소의 이름을 나열합니다.

예를 들어, 연락처 객체를 출력 변수로 정의한다고 가정해보겠습니다. 객체의 구조는 다음과 같습니다.  
그림 1. 샘플 접촉 창구 객체  
{#script-support-complex-data__table_lck_5ct_hhb__entry__4}

| 구조물에 배치 | 레이블 | 이름 | 유형 |
|-|-|-|-|
| 상위 | 연락처 | 연락처 | 객체 |
| 하위 | 이름 | first_name | 문자열 |
| 하위 | 성 | last_name | 문자열 |
| 하위 | 이메일 주소 | email_addresses | Array.Object |
| 손자 | 이메일 주소 | email_address | 객체 |
| 증손자 | 유형 | 유형 | 선택 |
| 증손자 | 이메일 | 이메일 | 문자열 |
| 하위 | 전화 | telephone_number | Array.Object |
| 하위 | 우편물 발송 주소 | mailing_address | Array.Object |
[ ]

{#script-support-complex-data__table_lck_5ct_hhb}

JavaScript 인덱스 값으로 배열의 개별 요소를 지정해야 하므로 이름 구조 요소에 대한 닷워킹 경로는 `outputs.contact.first_name` 되고 이메일 구조 요소에 대한 경로는 `outputs.contact.email_addresses[0].email` 입니다.  
주:  
닷워킹 경로는 배열 내에서 반복되는 요소의 이름을 생략합니다. 예를 들어, 객체 배열은 객체 요소 이름을 지정할 필요가 없습니다. 그러나 개체는 다른 요소의 컨테이너이므로 닷워킹 경로 내에서 개체의 하위 요소를 지정할 수 있습니다.

## 일반 가이드라인 {#script-support-complex-data__id_epj_nvb_ptb}

복잡한 데이터로 스크립팅할 때는 다음과 같은 일반적인 지침을 염두에 두십시오.

문자열 입력을 사용하여 복잡한 데이터를 JSON 문자열로 변환
:   복잡한 데이터를 문자열 입력 워크플로우 스튜디오 에 매핑하면 JSON 문자열로 자동 변환됩니다. 스크립트를 작성하는 대신 REST 단계에 문자열 입력을 추가하고 이전 작업 또는 단계의 복잡한 데이터에 매핑할 수 있습니다.

객체를 템플릿으로 저장
:   객체를 템플릿으로 저장하면 다른 작업, 플로우 및 스크립트 단계에서 다시 사용할 수 있습니다.

이전 데이터에 액세스하기 위한 스크립트 입력 변수 생성
:   작업 입력 또는 이전 단계에서 액세스하려는 데이터에 대한 스크립트 입력 변수를 생성합니다. 스크립트 입력 변수를 입력 또는 단계 데이터 알약에 매핑합니다. 예를 들어, 스크립트 입력 변수를 이전 단계에서 조회한 사용자 기록 목록에 매핑합니다.

복잡한 데이터를 저장하기 위한 스크립트 출력 변수 생성
:   스크립트가 생성하는 복잡한 데이터를 저장할 스크립트 출력 변수를 만듭니다. 스크립트 출력 변수는 스크립트에 정의된 값과 일치해야 합니다. 예를 들어, 여러 연락처 객체를 저장하는 객체의 연락처 배열을 만듭니다. 다시 사용할 수 있도록 접촉 창구 객체를 템플릿으로 저장합니다.

작업 출력을 스크립트 출력 변수에 매핑
:   사용자 지정 작업으로 복잡한 데이터를 출력하려면 작업 출력을 추가하고 이를 스크립트 단계 출력 변수의 데이터 정제에 매핑합니다. 예를 들어, 연락처 배열을 만들고 이전에 저장한 연락처 객체 템플릿을 로드합니다. 스크립트 단계에서 생성된 연락처 배열에 작업 출력을 매핑합니다.
* **[기록 목록에서 객체 배열을 생성하는 사용자 지정 동작 생성](https://servicenow-prod.fluidtopics.net/q3B_zVDwK86grYzDOespcA)**   
  사용자 기록 목록에서 객체 배열을 생성합니다. 스크립트 단계를 사용하여 기록 목록을 반복하는 방법에 대해 알아봅니다.
* **[기록 목록에서 문자열 배열을 작성하는 사용자 지정 작업 생성](https://servicenow-prod.fluidtopics.net/DsSa4oEL3EQcSdIIbQYoVg)**   
  사용자 역할 기록 목록에서 문자열 배열을 생성합니다. 스크립트 단계를 사용하여 기록 목록을 반복하는 방법에 대해 알아봅니다.

