# Extracting part of the data from JSON payload, perform calcs and combine them back

**URL:** <https://discourse.nodered.org/t/extracting-part-of-the-data-from-json-payload-perform-calcs-and-combine-them-back/46742>\
**Category:** General\
**Created:** [5 June 2021 14:21 UTC](https://discourse.nodered.org/t/extracting-part-of-the-data-from-json-payload-perform-calcs-and-combine-them-back/46742 "2021-06-05T14:21:59Z")\
**Posts on this page:** 1\
**Showing post:** 13

<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:** [30 June 2021 14:11 UTC](https://discourse.nodered.org/t/extracting-part-of-the-data-from-json-payload-perform-calcs-and-combine-them-back/46742/13 "2021-06-30T14:11:39Z")

</div>

Try this function

```auto
let device = msg.payload.device;
msg.payload = {
       "cisnienie" : msg.payload.pressure,
       "temperatura" : msg.payload.temperature,
       "wilgotnosc" : msg.payload.humidity,
       "napieceie_sieciowe" : msg.payload.voltage,
       "pobor_pradu" : msg.payload.current,
       "moc_pobierana" : msg.payload.power,
       "licznik_energii" : msg.payload.energy,
       "czestotliwosc" : msg.payload.frequency,
       "PF" : msg.payload.power_factor,
       "czujnik_gazu" : msg.payload.methane,
       "ADC": msg.payload.ADC}

for (let i = 0; i < msg.payload.ADC.length; i++){
    let R = Number(msg.payload.ADC[i]);
    if (R >= 0){
        msg.payload[`kanal${(i+1)}`] = (1 / ( (1/298.15) + (1/3950) * Math.log(R/1000) ))-273.15;
    }
}
delete msg.payload.ADC;
msg.payload = [msg.payload, {"ID_urzadzenia" : device, "lokalizacja": "kotlownia"}];
return msg;

```

---

_[View the full topic](https://discourse.nodered.org/t/extracting-part-of-the-data-from-json-payload-perform-calcs-and-combine-them-back/46742)._
