# Change node: add / Delete property in json

**URL:** <https://discourse.nodered.org/t/change-node-add-delete-property-in-json/37027>\
**Category:** General\
**Created:** [4 December 2020 22:08 UTC](https://discourse.nodered.org/t/change-node-add-delete-property-in-json/37027 "2020-12-04T22:08:48Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ej3359](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@ej3359](https://discourse.nodered.org/u/ej3359)\
**Post date:** [4 December 2020 22:08 UTC](https://discourse.nodered.org/t/change-node-add-delete-property-in-json/37027/1 "2020-12-04T22:08:49Z")

</div>

Hello,

i have a json like this:

```auto
[
  {
    "externalDeviceId": "b827ebe81d30.2",
    "deviceCookie": {
      "updatedcookie": "old or new value"
    },
    "friendlyName": "Z2 Perron\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
    "manufacturerInfo": {
      "manufacturerName": "TEXECOM",
      "modelName": "Texecom detector",
      "hwVersion": "N/A",
      "swVersion": "N/A"
    },
    "deviceContext": {
      "roomName": "Texecom panel",
      "groups": [
        "Salon Motions",
        "House Motions"
      ],
      "categories": [
        "motion-sensor"
      ]
    },
    "deviceHandlerType": "7505e0c4-416f-4afa-ad3e-8c4cc6c3be9d",
    "deviceUniqueId": "b827ebe81d30.2"
  },
  {
    "externalDeviceId": "b827ebe81d30.3",
    "deviceCookie": {
      "updatedcookie": "old or new value"
    },
    "friendlyName": "Z3 PIR Salon Wire\u0000\u0000",
    "manufacturerInfo": {
      "manufacturerName": "TEXECOM",
      "modelName": "Texecom detector",
      "hwVersion": "N/A",
      "swVersion": "N/A"
    },
    "deviceContext": {
      "roomName": "Texecom panel",
      "groups": [
        "Salon Motions",
        "House Motions"
      ],
      "categories": [
        "motion-sensor"
      ]
    },
    "deviceHandlerType": "7505e0c4-416f-4afa-ad3e-8c4cc6c3be9d",
    "deviceUniqueId": "b827ebe81d30.3"
  },
  {
    "externalDeviceId": "b827ebe81d30.4",
    "deviceCookie": {
      "updatedcookie": "old or new value"
    },
    "friendlyName": "Z4 Terrasse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000",
    "manufacturerInfo": {
      "manufacturerName": "TEXECOM",
      "modelName": "Texecom detector",
      "hwVersion": "N/A",
      "swVersion": "N/A"
    },
    "deviceContext": {
      "roomName": "Texecom panel",
      "groups": [
        "Salon Motions",
        "House Motions"
      ],
      "categories": [
        "motion-sensor"
      ]
    },
    "deviceHandlerType": "7505e0c4-416f-4afa-ad3e-8c4cc6c3be9d",
    "deviceUniqueId": "b827ebe81d30.4"
  }
]

```

I would delete all \*.deviceContext.groups in a change node, is it possible?  
and i would like add aproperty "enable" for each object in the array,

may you explain me how to do it?.

---

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [4 December 2020 22:24 UTC](https://discourse.nodered.org/t/change-node-add-delete-property-in-json/37027/2 "2020-12-04T22:24:36Z")

</div>

Did you try just using the delete option with msg.deviceContext.groups?

---

<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:** [5 December 2020 00:03 UTC](https://discourse.nodered.org/t/change-node-add-delete-property-in-json/37027/3 "2020-12-05T00:03:09Z")

</div>

To delete `groups` from all objects in the array and add `enable`  
e.g.

```auto
[{"id":"8f75de0e.8dfd88","type":"inject","z":"8d22ae29.7df6d","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[{\"externalDeviceId\":\"b827ebe81d30.2\",\"deviceCookie\":{\"updatedcookie\":\"old or new value\"},\"friendlyName\":\"Z2 Perron\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\",\"manufacturerInfo\":{\"manufacturerName\":\"TEXECOM\",\"modelName\":\"Texecom detector\",\"hwVersion\":\"N/A\",\"swVersion\":\"N/A\"},\"deviceContext\":{\"roomName\":\"Texecom panel\",\"groups\":[\"Salon Motions\",\"House Motions\"],\"categories\":[\"motion-sensor\"]},\"deviceHandlerType\":\"7505e0c4-416f-4afa-ad3e-8c4cc6c3be9d\",\"deviceUniqueId\":\"b827ebe81d30.2\"},{\"externalDeviceId\":\"b827ebe81d30.3\",\"deviceCookie\":{\"updatedcookie\":\"old or new value\"},\"friendlyName\":\"Z3 PIR Salon Wire\\u0000\\u0000\",\"manufacturerInfo\":{\"manufacturerName\":\"TEXECOM\",\"modelName\":\"Texecom detector\",\"hwVersion\":\"N/A\",\"swVersion\":\"N/A\"},\"deviceContext\":{\"roomName\":\"Texecom panel\",\"groups\":[\"Salon Motions\",\"House Motions\"],\"categories\":[\"motion-sensor\"]},\"deviceHandlerType\":\"7505e0c4-416f-4afa-ad3e-8c4cc6c3be9d\",\"deviceUniqueId\":\"b827ebe81d30.3\"},{\"externalDeviceId\":\"b827ebe81d30.4\",\"deviceCookie\":{\"updatedcookie\":\"old or new value\"},\"friendlyName\":\"Z4 Terrasse\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\\u0000\",\"manufacturerInfo\":{\"manufacturerName\":\"TEXECOM\",\"modelName\":\"Texecom detector\",\"hwVersion\":\"N/A\",\"swVersion\":\"N/A\"},\"deviceContext\":{\"roomName\":\"Texecom panel\",\"groups\":[\"Salon Motions\",\"House Motions\"],\"categories\":[\"motion-sensor\"]},\"deviceHandlerType\":\"7505e0c4-416f-4afa-ad3e-8c4cc6c3be9d\",\"deviceUniqueId\":\"b827ebe81d30.4\"}]","payloadType":"json","x":170,"y":1920,"wires":[["8e83525e.d9dfd"]]},{"id":"8e83525e.d9dfd","type":"change","z":"8d22ae29.7df6d","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload ~> |[*].deviceContext|deviceContext,['groups']|\t","tot":"jsonata"},{"t":"set","p":"payload","pt":"msg","to":"payload ~> |[*]|$merge([$,{\"enable\":true}])|\t","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":330,"y":1920,"wires":[["54f03fee.1ad538"]]},{"id":"54f03fee.1ad538","type":"debug","z":"8d22ae29.7df6d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":530,"y":1920,"wires":[]}]

```

> **[Other Operators · JSONata](https://docs.jsonata.org/other-operators#-------transform)**
>
> \## \`&\` (Concatenation)

---

<div class="post-metadata">

**Author:** ![ej3359](https://avatars.discourse-cdn.com/v4/letter/e/e47c2d/32.png) [@ej3359](https://discourse.nodered.org/u/ej3359)\
**Post date:** [5 December 2020 06:34 UTC](https://discourse.nodered.org/t/change-node-add-delete-property-in-json/37027/4 "2020-12-05T06:34:48Z")

</div>

It's perfect!

🥰

Thanks!

---

<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:** [19 December 2020 06:35 UTC](https://discourse.nodered.org/t/change-node-add-delete-property-in-json/37027/5 "2020-12-19T06:35:02Z")

</div>

Closed on 19 December 2020 06:35 UTC

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