I know I can do this in a function node, but I want to figure out how do do this in a change node with jsonata. Here is the msg:
{"payload":0,
"socketid":"g7R4DAwyPG3jLyHKAACQ",
"_msgid":"2c51e9cf.94bd06",
"path":"/Users/Paul/ESPBRR",
"files":["coffee30_backups","node21_backups","node29_backups"]
}
What I want to do is use the value of payload
be the index into files
In jsonata I can enter payload
and it returns 0
I can enter files[0] and it returns coffee30_backups
but if I use files[payload]
(in the jsonata test section) I get No matching result
Is it possible to do? Here is a test flow
[{"id":"7371d95.899e6a8","type":"debug","z":"75f6583c.143608","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":450,"y":360,"wires":[]},{"id":"a5100f28.c5ac48","type":"inject","z":"75f6583c.143608","name":"","topic":"","payload":"[\"coffee30_backups\",\"node21_backups\",\"node29_backups\"]","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":360,"wires":[["2345278.426d5d8"]]},{"id":"2345278.426d5d8","type":"change","z":"75f6583c.143608","name":"Setup msg object","rules":[{"t":"set","p":"files","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"payload","pt":"msg","to":"0","tot":"num"},{"t":"set","p":"selection","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":360,"wires":[["7371d95.899e6a8","30505485.3f0bac"]]},{"id":"30505485.3f0bac","type":"change","z":"75f6583c.143608","name":"using files[payload]","rules":[{"t":"set","p":"selection","pt":"msg","to":"files[payload]","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":420,"wires":[["40ff4ef6.d236f"]]},{"id":"40ff4ef6.d236f","type":"debug","z":"75f6583c.143608","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":450,"y":420,"wires":[]}]