• Skip to primary navigation
  • Skip to main content

IoTmaker

사물인터넷에 대한 모든 것 여기서 해결하셔요!

  • 홈
  • 책:마이크로파이썬을 활용한 사물인터넷
  • 책:따라 하면서 배우는 사물인터넷
  • 온라인 교육 코스
  • 새로운 소식
  • 의견보내기
  • 내 수강정보
  • 로그인
  • 회원가입

JSONata와 주요 함수

책에서 사용하는 부품 구입하기 JSONata는 JSON형식을 데이터를 조회하고 변환하기 위한 간략한 언어 체계입니다. Node-RED의 노드는 JSONata를 지원하는 경우가 많습니다. 그래서 별도로 function노드를 만들지 않더라도 데이터의 변환을 쉽게 할 수 있습니다.

JSONata 홈페이지 날짜와 시간 함수 문자열 처리 함수

날짜와 시간 변환 예제
다음 명령어는 날짜와 시간을 표현하고 있습니다. 날짜와 시간 함수인 $millis()의 값을 2020-7-17,11:42:08am의 형식으로 보여줍니다.

$fromMillis(
   $millis(),
   '[Y0001]-[M#1]-[D#1],[h01]:[m01]:[s01][P]',
   '+0900'
)

앞 노드에서 받은 값을 변환할 때는 $millis() 대신 payload를 지정하면 됩니다.

$fromMillis(
   payload,
   '[Y0001]-[M#1]-[D#1],[h01]:[m01]:[s01][P]',
   '+0900'
)
다음은 Inject노드, change노드, Debug노드를 사용하여 만든 Node-RED 플로우입니다.

[{"id":"99f6e6ed.7769b8","type":"tab","label":"$fromMillis()사용법","disabled":false,"info":""},{"id":"5210926c.b4577c","type":"inject","z":"99f6e6ed.7769b8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":250,"y":140,"wires":[["a2219ed3.ecfdc"]]},{"id":"a2219ed3.ecfdc","type":"change","z":"99f6e6ed.7769b8","name":"$fromMillis()","rules":[{"t":"set","p":"payload","pt":"msg","to":"$fromMillis(\t   $millis(),\t   '[Y0001]-[M#1]-[D#1],[h01]:[m01]:[s01][P]',\t   '+0900'\t)","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":430,"y":140,"wires":[["73a29f07.b4347"]]},{"id":"73a29f07.b4347","type":"debug","z":"99f6e6ed.7769b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":650,"y":140,"wires":[]}]

Copyright © 2025 ·로그인