JSON Path

AI와 함께 읽기
전체 문서 한 파일로 (llms-full.txt)
JsonPath #Operation #Node
JSON Path

JSON으로 들어온 JSON 문자열에서, 경로로 지정한 하나의 값을 뽑아내어 출력합니다. HTTP RequestBody를 그대로 받는 짝으로 사용합니다.

경로의 서식

오브젝트의 키는 .으로, 배열은 [n]으로 파고듭니다.

  • syncedLyrics — 최상위의 키
  • [0].syncedLyrics — 배열의 첫 요소의 키
  • data.items[2].name — 중첩

경로는 앞뒤의 공백을 떨어뜨린 다음에 사용됩니다. 경로를 비워 둔 채로 두면, JSON 전체가 그대로 Out으로 나옵니다.

경로는 노드 본체의 칸에 적거나, Path 포트로 흘려 넣거나 어느 쪽으로도 지정할 수 있습니다.

3가지 출력

  • Out — 뽑아낸 값이 문자열이면 그 내용. 오브젝트나 배열이면 JSON 텍스트 그대로 나오므로, 다음 단의 JSON Path로 더 파고들 수 있습니다. 수치·불리언 값은 그 문자 표기가 됩니다
  • Number — 수치라면 그 값, 불리언 값이라면 true가 1·false가 0이고, 수치로 읽을 수 있는 문자열도 수치가 됩니다. 그 외에는 0
  • Found — 값을 얻을 수 있었는지 여부

3가지 모두 값이 지난번과 달라졌을 때만 출력됩니다.

얻지 못했을 때

다음 중 어느 경우에도, Out은 빈 문자·Number는 0·Found는 false가 됩니다. 무슨 일이 일어났는지는 노드의 작은 글자로 확인할 수 있습니다.

  • JSON이 비어 있거나, 공백뿐일 때
  • JSON으로 읽을 수 없는 문자열이 왔을 때(API가 에러 페이지의 HTML을 돌려준 경우 등)
  • 경로의 서식이 올바르지 않을 때
  • 경로가 가리키는 곳이 존재하지 않거나, 값이 null일 때

값을 얻었을 때는, 노드의 표시가 그 값의 종류로 바뀝니다.

입력 포트

Port ID타입
JSONstring
Pathstring

출력 포트

Port ID타입
Outstring
Numberfloat
Foundbool

스크립트에서 설정할 수 있는 멤버

경로타입
jsonInputstring
pathInputstring
currentPathstring

Synapse Apps (스크립팅)

await synapse.modules.create({ type: "JsonPath" })

이 페이지로 연결된 페이지

같은 페이지를 참조하는 페이지