JSON 파서 노드

타사 도구와 통합할 때, 이러한 도구에서 데이터를 가져와서 세부적인 워크플로우를 정의하고 구성하고 싶을 수 있습니다. JSON 파서 노드를 사용하면 통합한 모든 도구에서 정보를 파싱하고 이를 Freshservice에서 워크플로우를 더 잘 정의하는 데 사용할 수 있습니다.


JSON 파서 노드란 무엇인가요?


JSON 파서 노드는 워크플로우 컨텍스트 내에서 JSON 페이로드를 파싱하고, 다음 조건 및 작업과 함께 출력을 사용할 수 있게 해줍니다. 


JSON 파서 노드를 사용하면 오케스트레이션 앱 및 웹 요청 노드에서 응답을 캡처하여 워크플로우 조건 및 작업 내에서 사용할 수 있습니다. 



JSONPath


JSONPath는 쿼리 언어 로서 JSON을 위한 것입니다. 출력은 JSON 경로 표현식을 사용하여 자동으로 생성되거나 수동으로 구성할 수 있습니다. 


JSONPath 표현식은 JSON 구조 내의 요소(또는 요소 집합)에 대한 경로를 지정합니다. 경로는 점 표기법을 사용할 수 있습니다. 선행 $ 는 루트 객체를 나타냅니다.


예:  $.Address.city.name 는 위의 페이로드에서 벵갈루루를 나타냅니다.


다른 JSON 요소는 아래에 샘플 티켓 페이로드와 함께 설명되어 있습니다.


{

  "ticket": {

    "priority": 3,

    "requester_id": 1000000678,

    "source": 2,

    "status": 2,

    "subject": "Ticket Title",

    "id": 266,

    "type": "Incident"

      "assets": [

      {

        "name": "Logitech Mouse",

        "ci_type_id": 27000336397,

        "impact": 2

      },

      {

        "name": "Dell Monitor",

        "ci_type_id": 27000336384,

        "impact": 1

      },

     ]

    }

   }


표현식

설명

예시 

출력

$

루트 객체 또는 배열.


$.ticket 는 루트 경로에서

객체 "ticket"을 나타냅니다.

티켓의 모든 직접 속성.

 {

"priority": 3,

"requester_id": 1000000678,

"source": 2,

"status": 2,

"subject": "Ticket Title",

"id": 266,

"type": "Incident"

"assets": [

 {

 "name": "Logitech Mouse",

 "ci_type_id": 27000336397,

 "impact": 2

  },

  {

  "name": "Dell Monitor",

  "ci_type_id": 27000336384,

  "impact": 1

      },

     ]

    }

   


.property

부모 객체에서 지정된 속성을 선택합니다.

$.ticket.priority 는 티켓의 우선순위를 나타냅니다. 

티켓의 우선순위


결과: 1

[n]

배열에서 n번째 요소를 선택합니다. 인덱스는 0부터 시작합니다.

$.ticket.assets[0] 는
티켓과 연결된 첫 번째 자산을 나타냅니다. 

티켓과 연결된 첫 번째 자산의 속성.

{

 "name": "Logitech Mouse",

 "ci_type_id": 27000336397,

 "impact": 2

  }

..property

재귀적 하강: 지정된 속성 이름을 재귀적으로 검색하고 이 속성 이름을 가진 모든 값의 배열을 반환합니다. 속성이 하나만 발견되더라도 항상 목록을 반환합니다.

$.ticket.assets[*]

$..assets[*] 두 표현식 모두 티켓과 연결된 모든 자산의 목록을 제공합니다.


티켓과 연결된 모든 자산.


[

{

"name": "Logitech Mouse",

"ci_type_id": 27000336397,

"impact": 2

 },

 {

 "name": "Dell Monitor",

 "ci_type_id": 27000336384,

 "impact": 1

  },

  ]


*

와일드카드 표현식은 * 또는 [*]의 표현식입니다. 와일드카드 연산자는 이름에 관계없이 모든 객체 또는 요소를 반환합니다.

$.ticket.assets[*] 는 티켓과 연결된 모든 자산을 나타냅니다.

티켓과 연결된 모든 자산.


[

{

"name": "Logitech Mouse",

"ci_type_id": 27000336397,

"impact": 2

 },

 {

 "name": "Dell Monitor",

 "ci_type_id": 27000336384,

 "impact": 1

  },

  ]


[start:end]

[start:]

시작 인덱스부터 끝 인덱스까지(끝 인덱스는 포함하지 않음) 배열 요소를 선택합니다. 끝이 생략되면 시작부터 배열의 끝까지 모든 요소를 선택합니다. 

$..assets[0,1].name

$..assets[:2].name 

표현식은 첫 번째 두 자산의 이름을 나타냅니다.

티켓과 연결된 첫 번째 두 자산의 이름.


[

  "Logitech Mouse",

  "Dell Monitor"

]

[?(expression)]

? ( )를 사용하여 특정 기준을 충족하는 모든 항목을 쿼리합니다.

$.ticket.assets[?(@.impact<2)].name 는 영향이 2 미만인 티켓의 자산 이름을 나타냅니다

영향이 2 미만인(낮음) 자산.


결과: Dell Monitor

필터 표현식에서 현재 객체 또는 요소를 참조합니다.

$..assets[?(@.impact=2)] 는 중간 영향을 가진 모든 자산을 나타냅니다.

영향이 2인(중간) 자산.

결과: Logitech Mouse

이 문서가 도움이 되었나요?

Freshservice AI 도우미

JSON 파서 노드

AI 어시스턴트 초기화 중...