JSON Format Manipulation Functions

JSON Format Manipulation Functions

Functions available from D2000 V12.2.

JSON format manipulation functions allows to create, read, write and delete JSON objects. Function names are created by the prefix %JSON_.

When adding invalid value (e.g. %JSON_ObjectSetValue), value in JSON is stored as null. When reading null value from JSON (e.g. %JSON_ObjectGetValue), value is interpreted as invalid value.

Every handle to JSON object or array must be released by calling %JSON_FreeObjectHandle or %JSON_FreeArrayHandle.

Handle remain valid also after deleting of child object or array (e.g. %JSON_ArrayRemoveItem) pointed to by the handle. Similarly when removed parent object or array, handle pointed to child remains valid.

Example:

INT _obj INT _clientInfo TEXT _d2version _obj := %JSON_ObjectFromString(ModuleInfo) _clientInfo := %JSON_ObjectGetObject(_obj, "client_data") %JSON_FreeObjectHandle(_obj) ; release handle to _obj, _clientInfo is still valid handle _d2version := %JSON_ObjectGetValue(_clientInfo, "d2000_version") LOG "D2000 version", _d2version PRIORITY _LOG_PRTY_INFO %JSON_FreeObjectHandle(_clientInfo) ; finally release _clientInfo handle

There is created JSON object from ModuleInfo variable, then we get value from object and this value is written into monitoring database.

%JSON file manipulation functions: