JSON 파서를 사용하여 JSON 문자열을 JSON 객체로 구문 분석하기
JSON 파서를 사용하여 JSON 형식으로 작성된 문자열의 데이터를 해당 문자열을 나타내는 JSON 객체로 변환할 수 있습니다. JSON 구문 분석기는 흐름의 이후 노드에 매핑할 수 있는 필드 목록에 포함된 키가 포함된 스키마를 생성합니다.
에서 이벤트 중심 또는 API 흐름을 만들 때 App Connect 에서 이벤트 중심 또는 API 흐름을 만들 때는 일반적으로 필드를 매핑하여 이벤트, 작업 또는 도구 상자 노드의 응답 또는 출력을 후속 작업의 입력으로 사용합니다. JavaScript 객체 표기법(JSON)을 사용하여 데이터가 반환되는 특정 경우, 데이터는 JSON 형식으로 작성된 문자열로 제공됩니다. 후속 작업에서 이 데이터를 매핑하려면 먼저 App Connect 의 기본 제공 JSON 파서를 사용하여 데이터를 문자열을 나타내는 JSON 객체로 변환해야 합니다.
JSON 파서가 생성하는 스키마는 중괄호로 둘러싸인 쉼표로 구분된 키와 값 쌍의 표준 집합 {} 으로 형식이 지정됩니다. 키는 문자열로 정의되며 키의 값은 문자열, 숫자, 객체, 배열, 부울 또는 null 중 하나의 유효한 JSON 데이터 유형일 수 있습니다. 이러한 키가 생성되면, 이후 작업에서
매핑 삽입을 클릭할 때 매핑에 사용할 수 있는 필드 목록에 포함됩니다.
구문 분석할 데이터 정의 및 유효한 JSON 스키마 생성하기
JSON 파서를 사용하여 다양한 애플리케이션의 JSON 문자열을 구문 분석할 수 있습니다. 그러나 일반적인 사용 사례는 HTTP 호출 동작을 사용하여 HTTP 엔드포인트에서 응답을 반환하는 GET, POST, PUT, PATCH, DELETE 또는 HEAD 요청을 수행합니다.
다음 예는 멀티노드 플로우 내의 HTTP 호출 작업을 보여줍니다. 여기서 HTTP 클라이언트 테스트 서비스에 대한 GET 호출이 http://httpbin.org 수행되고 있습니다.

후속 작업에서 응답 헤더와 응답 본문을 매핑할 수 있도록 하려면 작업을 추가하기 전에 JSON 파서 노드를 삽입해야 합니다. 그런 다음 해당 노드를 사용하여 파싱하려는 데이터를 정의하고 유효한 JSON 스키마를 생성할 수 있습니다. 다음 단계에 따라 노드를 삽입하고 구성할 수 있습니다:
- (+)를 클릭하고 도구 상자 탭으로 이동한 다음 JSON 파서를 클릭합니다.
그림 2. 도구 상자 탭에서 JSON 파서 선택하기 
- JSON 입력 필드를 사용하여 이전 작업 또는 이벤트의 어떤 데이터를 구문 분석해야 하는지 지정합니다.
다음과 같은 방법으로 JSON 입력 필드를 완성할 수 있습니다.- 사용 가능한 입력 목록에 표시된 필드에 매핑하려면 매핑 삽입을
클릭하세요.그림 3. 매핑된 필드를 표시하는 JSON 입력 항목 
- 텍스트를 매핑된 필드와 결합할 수 있습니다.
그림 4. 텍스트와 매핑된 필드의 조합을 표시하는 JSON 입력 항목 
그림 5. 텍스트와 매핑된 필드의 다른 조합을 보여주는 JSON 입력 항목 
- 해결되면 JSON 입력 필드의 항목이 유효한 JSON을 생성해야 합니다. 런타임 오류를 방지하려면 이전 이벤트 또는 작업에서 포함하는 매핑된 필드에 유효한 입력으로 변환되는 값이 있어야 합니다. 매핑된 필드의 데이터 유형에 따라 큰따옴표 또는 중괄호로 묶어야 할 수도 있습니다
{}.- 이전 HTTP 작업의 결과가
Response bodyJSON 형식으로 반환된 경우{"name":"Bob", "age":"99"}, JSON 입력 항목은 다음과 같은{"responseBody": Response body}유효한 JSON으로 해석됩니다.{"responseBody": {"name":"Bob", "age":"99″}} - 이전 HTTP 작업에 대한
Response body이 일반 텍스트로Blob로 반환된 경우,{"responseBody": Response body}의 JSON 입력 항목은 잘못된 JSON을 생성합니다:{"responseBody": Blob}JSON을 유효하게 만들려면 JSON 입력 항목을
{"responseBody": "Response body"}즉,Response body을 큰따옴표로 묶어 지정해야 합니다. JSON 입력 항목이{"responseBody": ""}로 확인되므로 응답이 반환되지 않더라도 JSON은 유효한 것으로 간주됩니다. - 이전 HTTP 작업의 필드에
Request headers (JSON format)값이 없는 경우, JSON 입력 항목은 빈Request headers (JSON format)값으로 해석됩니다. - 이전 HTTP 작업의 필드에
Request headers (JSON format)값이 없는 경우, JSON 입력 항목은 유효하지 않은{"headers": Request headers (JSON format)}JSON을 생성합니다:{"headers":}JSON을 유효하게 하려면 JSON 입력 항목을 (즉, 를
{"headers": {Request headers (JSON format)}}Request headers (JSON format)중괄호로 묶어야 함)으로 지정해야 합니다.
- 이전 HTTP 작업의 결과가
- 사용 가능한 입력 목록에 표시된 필드에 매핑하려면 매핑 삽입을
- 출력 스키마 섹션을 확장하고 예제 JSON 필드를 사용하여 반환될 것으로 예상되는 샘플 JSON을 지정하십시오(해당 JSON은 반드시 JSON 객체로 변환되어야 합니다). 다음 예시는 앞서 언급한 HTTP 클라이언트 테스트 서비스에 대한 GET 호출에서 가져온 샘플 JSON을 보여줍니다. http://httpbin.org/get
그림 6. JSON 필드 예시
다음과 같은 방법으로 예제 JSON 필드를 구성할 수 있습니다.- 예를 들어 웹 서버나 API 호출이 반환하는 샘플 응답을 복사하여 이 필드에 붙여넣을 수 있습니다.
- 이 필드에 JSON 문자열을 직접 입력할 수 있습니다. 예를 들어, 다음과 같습니다.
{"name":"Bob","age":"99″} - 예제 JSON 필드에는 최대 16,000자를 입력할 수 있습니다. 스키마 생성은 리소스 집약적이며 성능 문제를 일으킬 수 있으므로 이 기능은 소규모 API 응답에만 제공됩니다. 대규모 응답의 경우 필요한 경우 스키마 생성에 사용할 수 있는 외부 도구를 사용할 수 있습니다. 스키마가 생성되면 다음 단계에 표시된 JSON 스키마 필드에 직접 붙여넣을 수 있습니다.
- '예제 JSON'을 JSON 객체로 변환하려면 스키마 생성을 클릭합니다. JSON 스키마 필드에서 결과를 확인할 수 있습니다.
그림 7. JSON 파서 노드가 포함된 플로우에 대해 생성된 JSON 스키마
팁: 스키마 생성 단계를 건너뛰고 유효한 스키마를 JSON 스키마 필드에 직접 입력할 수도 있습니다.
다른 대상 애플리케이션과 해당 작업을 플로우에 추가하면 JSON 스키마에서 매핑할 수 있는 필드로 키를 볼 수 있습니다.