# JSON: how to generate random number?

**URL:** https://discourse.nodered.org/t/json-how-to-generate-random-number/86554
**Category:** General
**Tags:** jsonata
**Created:** [19 March 2024 08:10 UTC](https://discourse.nodered.org/t/json-how-to-generate-random-number/86554 "2024-03-19T08:10:58Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![realtebo](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/realtebo/32/85732_2.png) [@realtebo](https://discourse.nodered.org/u/realtebo)
#### Post date: [19 March 2024 08:10 UTC](https://discourse.nodered.org/t/json-how-to-generate-random-number/86554/1 "2024-03-19T08:10:58Z")

</div>

I need to inject random a single value in a json. I am trying

```auto

msg.payload = {
    "temperature" : jsonata("Math.random() * 20 + 10").evaluate(),
}
msg.topic = "device/ht";
return msg;

```

but `temperature` is empty.  
What is the right syntax?

I am using node-red 3.1.7

---

<div class="post-metadata">

### Author: ![dynamicdave](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dynamicdave/32/96_2.png) [@dynamicdave](https://discourse.nodered.org/u/dynamicdave)
#### Post date: [19 March 2024 08:15 UTC](https://discourse.nodered.org/t/json-how-to-generate-random-number/86554/2 "2024-03-19T08:15:24Z")

</div>

Try this in your function node...

```auto
msg.payload = {
    "temperature": Math.random() * 20 + 10,
};
msg.topic = "device/ht";
return msg;

```

![temp_random](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/0/7/0702c8db2e57775d570d12c57138ef6c1f47c98e.png)

---

<div class="post-metadata">

### Author: ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)
#### Post date: [19 March 2024 09:22 UTC](https://discourse.nodered.org/t/json-how-to-generate-random-number/86554/3 "2024-03-19T09:22:03Z")

</div>

Alternative using jsonata and `$random()` inside an inject node

```auto
[{"id":"59fd02ccc1d8efb4","type":"inject","z":"d73d76db3df96ba2","name":"","props":[{"p":"temperature","v":"$random() * 20 + 10","vt":"jsonata"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"\"device/ht\"","x":2821,"y":1736,"wires":[[]]}]

```

---

<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: [2 April 2024 09:22 UTC](https://discourse.nodered.org/t/json-how-to-generate-random-number/86554/4 "2024-04-02T09:22:53Z")

</div>

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