...
Každý handle na objekt a pole je nutné zmazať volaním funkcie TODOfunkcie %JSON_FreeObjectHandle alebo %JSON_FreeArrayHandle.
Odstránením vnoreného poľa alebo objektu (napr. %JSON_ArrayRemoveItem) nezaniká jeho handle, objekt na ktorý ukazuje je stále validný. Rovnako handle na objekt alebo pole zostáva platným aj keď bol zmazaný rodičovský objekt.
Príklad:
Blok kódu | ||||
---|---|---|---|---|
| ||||
INT _obj INT _clientInfo TEXT _d2version _obj := %JSON_ObjectFromString(ModuleInfo) _clientInfo := %JSON_ObjectGetObject(_obj, "client_data") %JSON_FreeObjectHandle(_obj) ; uvolnim handle na _obj, _clientInfo je stale platny handle _d2version := %JSON_ObjectGetValue(_clientInfo, "d2000_version") LOG "D2000 version", _d2version PRIORITY _LOG_PRTY_INFO %JSON_FreeObjectHandle(_clientInfo) %JSON_FreeObjectHandle(_obj) ; nakoniec musim uvolnit handle aj na _clientInfo |
Načíta sa systémová premenná ModuleInfo do JSON objektu, vyberie sa hodnota z objektu a výsledok sa zapíše do monitorovacej databázy.
...