# Is there any risk to use Get and set data from PLC by json

**URL:** <https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [October 16, 2025, 8:18am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509 "2025-10-16T08:18:38Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hui\_Xia](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@Hui\_Xia](https://forum.inductiveautomation.com/u/Hui_Xia)\
**Post date:** [October 16, 2025, 8:18am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509/1 "2025-10-16T08:18:38Z")

</div>

I have a project get the siemse PLC node (no the ) to Json , the data structure like {“a“:{“a1“:1,”a2”:2},”b”:{“b1“:3,”b2”:2}}, if I try to change one of the tag ,like modify b2 to 3, if the tag data write to plc ,I think it will have risk to change data that I don’t want to change , are there any guys to test it ?

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [October 16, 2025, 8:22am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509/2 "2025-10-16T08:22:21Z")

</div>

> [@Hui\_Xia](#):
>
> it will have risk to change data that I don’t want to change

This is correct, if you write the tag as a JSON document, it will take the entire JSON structure and write it to the tags. You are then responsible for making sure the data only changes where you intended to change it.

---

<div class="post-metadata">

**Author:** ![Arnaud\_Declerck](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/arnaud_declerck/32/44872_2.png) [@Arnaud\_Declerck](https://forum.inductiveautomation.com/u/Arnaud_Declerck)\
**Post date:** [October 16, 2025, 9:21am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509/3 "2025-10-16T09:21:38Z")

</div>

We did run in that situation when using the OPC UA server from siemens. The only sollution i ‘ve found is to separate the data that should be writed by ignition and the one that shouldn’t (For us is different struct in one UDT.) Then i just make separate document tag in Ignition per struct in the UDT. That’s the only solution i’ve found for the moment.

---

<div class="post-metadata">

**Author:** ![Hui\_Xia](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@Hui\_Xia](https://forum.inductiveautomation.com/u/Hui_Xia)\
**Post date:** [October 16, 2025, 9:26am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509/4 "2025-10-16T09:26:36Z")

</div>

> [@Arnaud\_Declerck](#):
>
> moment

Thank you for your information , in fact I create a tag to show a data list use it , it just for display data, but I don’t know why other guys use it to change data .

---

<div class="post-metadata">

**Author:** ![Arnaud\_Declerck](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/arnaud_declerck/32/44872_2.png) [@Arnaud\_Declerck](https://forum.inductiveautomation.com/u/Arnaud_Declerck)\
**Post date:** [October 16, 2025, 9:29am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509/5 "2025-10-16T09:29:53Z")

</div>

Just put that tag on read only in ignition.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [October 16, 2025, 11:50am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509/6 "2025-10-16T11:50:07Z")

</div>

If you use my Integration Toolkit's "Divert Write" tag actor in the derived tags that split up the JSON, you can safely write to the inner items. (For OPC servers that expose the inner members.)

---

<div class="post-metadata">

**Author:** ![Hui\_Xia](https://avatars.discourse-cdn.com/v4/letter/h/ee7513/32.png) [@Hui\_Xia](https://forum.inductiveautomation.com/u/Hui_Xia)\
**Post date:** [October 17, 2025, 1:11am UTC](https://forum.inductiveautomation.com/t/is-there-any-risk-to-use-get-and-set-data-from-plc-by-json/111509/7 "2025-10-17T01:11:10Z")

</div>

{  
"valueSource": "derived",  
"deriveExpressionGetter": "jsonGet({source}, "config."+{TagName})",  
"sourceTagPath": "xxx",  
"name": "demoJsonDev",  
"tagType": "AtomicTag"  
}

| |
| --- |
| |

Read Expression jsonGet({source}, "config."+{TagName})

write Expression {value}

if create a derived and config it like this ,it can safely write to the correct inner item? I upload image but failed , so I copy the demo tag to json .

new , I try to write failed , so modify write Expression to jsonSet({source}, "config."+{TagName},{value}) , it’s ok , but when I use two way bind ,it can be write , use write blocking it can be write , is it designed like this?

| |
| --- |
| |
