# Replacing null payload value in change node

**URL:** <https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470>\
**Category:** General\
**Created:** [8 April 2020 16:02 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470 "2020-04-08T16:02:55Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![chrisgla](https://avatars.discourse-cdn.com/v4/letter/c/8c91f0/32.png) [@chrisgla](https://discourse.nodered.org/u/chrisgla)\
**Post date:** [8 April 2020 16:02 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470/1 "2020-04-08T16:02:55Z")

</div>

If the value of payload.outside\_temp is "null", can I search for this and change it to a value (99) in a change node?

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/a/5/a5770a81df25ad44d58d1f6220cace16188e043d.png)

---

<div class="post-metadata">

**Author:** ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Post date:** [8 April 2020 16:20 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470/2 "2020-04-08T16:20:37Z")

</div>

The search/replace option is intended for doing search/replace of text in a property.

You can do what you want using the Expression type in a Set rule:

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/d/2d218e763805495d2b5a15973b1f99eecccee199.png)

```auto
$exists(payload.outside_temp) ? payload.outside_temp : 99

```

---

<div class="post-metadata">

**Author:** ![chrisgla](https://avatars.discourse-cdn.com/v4/letter/c/8c91f0/32.png) [@chrisgla](https://discourse.nodered.org/u/chrisgla)\
**Post date:** [8 April 2020 18:49 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470/3 "2020-04-08T18:49:33Z")

</div>

Got it- thanks!

---

<div class="post-metadata">

**Author:** ![chrisgla](https://avatars.discourse-cdn.com/v4/letter/c/8c91f0/32.png) [@chrisgla](https://discourse.nodered.org/u/chrisgla)\
**Post date:** [18 April 2020 13:55 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470/4 "2020-04-18T13:55:04Z")

</div>

May be going mad but after upgrading to V1.0.5 I don't get "null" replaced.

 ![1](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/8/d/8d31d540ec3f50e3f3e2306c007ce6e019407661.jpeg)

Simplified test flow:-

```auto
[{"id":"1f20d17d.39c9df","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"f08a6cbc.9c38d","type":"debug","z":"1f20d17d.39c9df","name":"Refined","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":893,"y":360,"wires":[]},{"id":"7e16f236.690b1c","type":"change","z":"1f20d17d.39c9df","name":"TeslaOutsideTemp","rules":[{"t":"set","p":"payload.outside_temp","pt":"msg","to":"$exists(payload.outside_temp) ? payload.outside_temp : 99","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":659,"y":280,"wires":[["f08a6cbc.9c38d"]]},{"id":"4554116.8edc4f","type":"inject","z":"1f20d17d.39c9df","name":"Inj Null","topic":"","payload":"{\"outside_temp\":null}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":390,"y":280,"wires":[["7e16f236.690b1c","9e42afc8.6400e"]]},{"id":"9e42afc8.6400e","type":"debug","z":"1f20d17d.39c9df","name":"TestRaw","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":629,"y":360,"wires":[]},{"id":"26a1737a.46ff9c","type":"inject","z":"1f20d17d.39c9df","name":"Inj12","topic":"","payload":"{\"outside_temp\":12}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":390,"y":360,"wires":[["9e42afc8.6400e","7e16f236.690b1c"]]}]

```

---

<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:** [18 April 2020 14:12 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470/5 "2020-04-18T14:12:12Z")

</div>

The definition of $exists at [http://docs.jsonata.org/boolean-functions.html](http://docs.jsonata.org/boolean-functions.html) says

Returns Boolean `true` if the arg expression evaluates to a value, or `false` if the expression does not match anything (e.g. a path to a non-existent field reference).

Presumably null is treated as a value. so true is returned. If the payload does not contain an attribute of that name then false is returned.

---

<div class="post-metadata">

**Author:** ![chrisgla](https://avatars.discourse-cdn.com/v4/letter/c/8c91f0/32.png) [@chrisgla](https://discourse.nodered.org/u/chrisgla)\
**Post date:** [27 April 2020 16:07 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470/6 "2020-04-27T16:07:19Z")

</div>

Little break, head cleared- $boolean(payload.outside\_temp) ? payload.outside\_temp : 99 handles correctly.

---

<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:** [11 May 2020 16:07 UTC](https://discourse.nodered.org/t/replacing-null-payload-value-in-change-node/24470/7 "2020-05-11T16:07:20Z")

</div>

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