# Detect value in msg.payload.body

**URL:** <https://discourse.nodered.org/t/detect-value-in-msg-payload-body/35206>\
**Category:** General\
**Created:** [2 November 2020 12:34 UTC](https://discourse.nodered.org/t/detect-value-in-msg-payload-body/35206 "2020-11-02T12:34:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![CKL1976](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/ckl1976/32/43034_2.png) [@CKL1976](https://discourse.nodered.org/u/CKL1976)\
**Post date:** [2 November 2020 12:34 UTC](https://discourse.nodered.org/t/detect-value-in-msg-payload-body/35206/1 "2020-11-02T12:34:56Z")

</div>

Hi

Newbie here 🙂

I have a msg.payload.body that contains one long string of text, please see below part of the payload.

"deviceModel":"MT10","alertId":"645140646630744781","alertType":"Sensor change detected","alertLevel":"informational","occurredAt":"2020-11-02T12:24:17.190976Z","alertData":{"alertConfigId":645140646621093008,"triggerData":[{"conditionId":14,"trigger":{"ts":1604318679.0,"type":"temperature","nodeId":48649295879865,"sensorValue":13.11111068725586}}],"startedAlerting":true}}"

I would like to extract values from "alertType" and "sensorValue" and "startedAlerting" and send the value to MQTT. I know how to throw it to MQTT, but I am stuck around how get values out of text only from payloads.

Anyone who can help me on my quest ? 🙂

---

<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:** [2 November 2020 12:44 UTC](https://discourse.nodered.org/t/detect-value-in-msg-payload-body/35206/2 "2020-11-02T12:44:02Z")

</div>

Hi @CKL1976 - welcome to the forum.

You say you've shared a part of the payload - does that mean there's more to it then that?

What you've shared looks a lot like JSON, but its missing stuff at the start, so it isn't clear if you have a full valid piece of JSON or just some fragment.

Assuming its valid JSON, you can use the JSON node to parse the string to a JavaScript Object. Once you've done that, you'll be able to access the properties you want as `msg.payload.body.alertType` etc.

---

<div class="post-metadata">

**Author:** ![E1cid](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/e1cid/32/77971_2.png) [@E1cid](https://discourse.nodered.org/u/E1cid)\
**Post date:** [2 November 2020 13:57 UTC](https://discourse.nodered.org/t/detect-value-in-msg-payload-body/35206/3 "2020-11-02T13:57:51Z")

</div>

Where does the value come from? As you may be able to set it to return a object rather than a string.

---

<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:** [1 January 2021 13:57 UTC](https://discourse.nodered.org/t/detect-value-in-msg-payload-body/35206/4 "2021-01-01T13:57:51Z")

</div>

Closed on 1 January 2021 13:57 UTC

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