# Split and Join and manual join also includes '\["

**URL:** https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415
**Category:** General
**Created:** [5 February 2021 02:57 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415 "2021-02-05T02:57:49Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![dwayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dwayne/32/36543_2.png) [@dwayne](https://discourse.nodered.org/u/dwayne)
#### Post date: [5 February 2021 02:57 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415/1 "2021-02-05T02:57:49Z")

</div>

Not sure if its a bug or not, but I'm having an issue with Split and Join. I split apart a message to edit the payload components based on a character "[".

Two separate observations:

1. If I use automatic join, sometimes the result is corrupted and I get a result of part of message 1 and the other part of message 2, instead of part of message 1 joined back with the other part of message 1.
2. If I use manual, the join works fine but also concatenated on the single output message.payload from the join is the ch character that was used in the split. For me that is "[".

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [5 February 2021 07:11 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415/2 "2021-02-05T07:11:45Z")

</div>

Can you provide an example flow that shows these cases ?

---

<div class="post-metadata">

### Author: ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)
#### Post date: [5 February 2021 07:53 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415/3 "2021-02-05T07:53:00Z")

</div>

A way to make a test flow may be too configure an inject node to inject the string (or whatever your input is) and feed that into the node or nodes showing the problem. Then Export those nodes and paste the flow here.

See this post for more how to do that - [How to share code or flow json](https://discourse.nodered.org/t/how-to-share-code-or-flow-json/506)

---

<div class="post-metadata">

### Author: ![dwayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dwayne/32/36543_2.png) [@dwayne](https://discourse.nodered.org/u/dwayne)
#### Post date: [5 February 2021 08:26 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415/4 "2021-02-05T08:26:08Z")

</div>

I "may" have fixed it by changing the join rule to number of message parts to 1. When I had it set to 2 (part.0 + part.1) I was getting the ch char added.

Code and test injects are here...

```auto
[{"id":"ba6c3622.ce6758","type":"tab","label":"Join Test","disabled":false,"info":""},{"id":"bbef0ccb.b97248","type":"link in","z":"ba6c3622.ce6758","name":"DogPark Rotor","links":["bd0cd66e.8ce69","5344990e.62b1f","2428135b.8aab5c"],"x":315,"y":1020,"wires":[["51e9912b.3c1b98"]]},{"id":"51e9912b.3c1b98","type":"string","z":"ba6c3622.ce6758","name":"delRight","methods":[{"name":"delRightMost","params":[{"type":"str","value":"]"}]}],"prop":"payload","propout":"payload","object":"msg","objectout":"msg","x":440,"y":1020,"wires":[["bab22fb0.49e14","6dd5ce82.b55f6"]]},{"id":"bab22fb0.49e14","type":"split","z":"ba6c3622.ce6758","name":"","splt":"[","spltType":"str","arraySplt":"2","arraySpltType":"len","stream":false,"addname":"","x":610,"y":1020,"wires":[["db46f5a4.c3db78"]]},{"id":"db46f5a4.c3db78","type":"switch","z":"ba6c3622.ce6758","name":"route","property":"parts.index","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":390,"y":1180,"wires":[["7a2fd0e6.efde98"],["273db89.d38a5c8"]]},{"id":"7a2fd0e6.efde98","type":"string","z":"ba6c3622.ce6758","name":"getMsgId","methods":[{"name":"getLeftMost","params":[{"type":"str","value":" "}]},{"name":"toInteger","params":[]}],"prop":"payload","propout":"reportMsgId","object":"msg","objectout":"msg","x":560,"y":1140,"wires":[["5572afcb.22b858"]]},{"id":"6dd5ce82.b55f6","type":"debug","z":"ba6c3622.ce6758","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1190,"y":1020,"wires":[]},{"id":"273db89.d38a5c8","type":"string","z":"ba6c3622.ce6758","name":"getPayload","methods":[{"name":"getLeftMost","params":[{"type":"str","value":":"}]},{"name":"trimRight","params":[]}],"prop":"payload","propout":"type","object":"msg","objectout":"msg","x":570,"y":1220,"wires":[["1704ee2c.fac10a"]]},{"id":"5572afcb.22b858","type":"change","z":"ba6c3622.ce6758","name":"","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":770,"y":1140,"wires":[["1010133b.4ffd05"]]},{"id":"1010133b.4ffd05","type":"join","z":"ba6c3622.ce6758","name":"","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":",","joinerType":"str","accumulate":false,"timeout":"","count":"1","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1030,"y":1120,"wires":[["e4a9af0f.899208"]]},{"id":"1704ee2c.fac10a","type":"string","z":"ba6c3622.ce6758","name":"delLeft","methods":[{"name":"delLeftMost","params":[{"type":"str","value":":"}]}],"prop":"payload","propout":"payload","object":"msg","objectout":"msg","x":810,"y":1220,"wires":[["1010133b.4ffd05"]]},{"id":"e4a9af0f.899208","type":"debug","z":"ba6c3622.ce6758","name":"Manual Join","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1210,"y":1120,"wires":[]},{"id":"a671d340.83dfa","type":"inject","z":"ba6c3622.ce6758","name":"Inject Sat","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"12345678 Test [Sat Radio Report:Down Mhz:435.18000, Down Mode:FM, Up MHz:145.98000, Up Mode:FM]","payloadType":"str","x":360,"y":900,"wires":[["2428135b.8aab5c"]]},{"id":"495fa787.65b808","type":"inject","z":"ba6c3622.ce6758","name":"Inject Radio","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"00000669 Test [Radio Report:RxMHz:7.07400, TxMHz:7.07400, Band:40M, Mode:CW, Power:8]","payloadType":"str","x":370,"y":940,"wires":[["2428135b.8aab5c"]]},{"id":"2428135b.8aab5c","type":"link out","z":"ba6c3622.ce6758","name":"Dogpark UDP Broadcast","links":["283150a.473e93","4a8cc533.a6b02c","68170ff2.47c85","7cd9761d.6c6268","f3e51bbd.479fc","dd7d71e1.c9fca8","abd4ded5.24942","2653cb90.d47ae4","dba74049.648eb8","962cefa1.d43678","bd8f1d12.18b75","3f59b914.1e1bfe","faf74149.41dbd8","88df9653.d8ae68","1df250b8.903d4f","f6bca23b.16c048","83e10ce5.e8e13","f6c74fde.f2b4e","bbef0ccb.b97248"],"x":515,"y":920,"wires":[]},{"id":"ced30019.9d5ea8","type":"comment","z":"ba6c3622.ce6758","name":"Manual Join Ends Up with a \"]\" on the end... but ok since I can remove it.","info":"","x":1250,"y":1080,"wires":[]}]

```

- D

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [5 February 2021 08:51 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415/5 "2021-02-05T08:51:55Z")

</div>

🙂 - just out of interest - was is/was the actual end result you are trying to get to... ?  
just that string ? or does that then get manipulated further ?

---

<div class="post-metadata">

### Author: ![dwayne](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dwayne/32/36543_2.png) [@dwayne](https://discourse.nodered.org/u/dwayne)
#### Post date: [6 February 2021 06:42 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415/6 "2021-02-06T06:42:22Z")

</div>

Further.. MacDoppler and MacLogger UDP Streams for amateur radio. I have a function I found which adds the """ around the key values then I have a nice JS object to play with.

- The msg.type is now set to the type of UDP report.
- An embedded sequential message id is moved out of the payload so that we can use rule based execution if the payload changes. Leaving it in the object would mean that every object is unique so RBE would be ineffective.
- Reports are now JS objects instead of strings - Now really easy to switch on flow type and literally zero code reuse in each flow. Even fields that are nums are converted upfront instead of special processing for each report.

v6 is my current iteration...  
[https://groups.io/g/nodered-hamradio/files/MacDoppler%20to%20Goto%20Telescope%20Mount%20Rotator](https://groups.io/g/nodered-hamradio/files/MacDoppler%20to%20Goto%20Telescope%20Mount%20Rotator)

Beyond using the spot reports and other stuff I get out of MacDoppler and MacLogger, I wrote a python program to take rotor commands from MacDoppler and drive a goto telescope mount to point antennas at passing satellites. I am now converting this code to Node-Red.

Essentially I have completed the MacDoppler side of the code and am now working on the Telescope code.

The function I have that coverts key:value into quoted key:values works great... Any idea if there is a node that does that? Next step I guess is to write a node if one does not exist.

I have only been doing this for a week but am happy with the results so far.

Heres a pic of satellite tracking... [Satellite Tracking using Astronomy Goto Mount |](https://www.beyondcli.com/ham/satellite-tracking-using-astronomy-goto-mount/)

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [7 April 2021 06:42 UTC](https://discourse.nodered.org/t/split-and-join-and-manual-join-also-includes/40415/7 "2021-04-07T06:42:27Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
