Funkcie sú dostupné od verzie D2000 V12.2.
Funkcie pre manipuláciu s dátami JSON umožňujú načítať a uložiť text v JSON formáte, vytvárať, čítať, zapisovať a vymazávať JSON objekty. Mená funkcií sú tvorené prefixom %JSON_.
Pri vložení neplatnej hodnoty (napr. %JSON_ObjectSetValue), hodnota je interpretovaná v JSON ako null. Pri čítaní null z JSON (napr. %JSON_ObjectGetValue), táto je interpretovaná ako neplatná hodnota.
Každý handle na objekt a pole je nutné zmazať volaním funkcie %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:
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) ; 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.
Funkcie pre prácu s JSON formátom:
- %JSON_CreateObject
- %JSON_CreateArray
- %JSON_FreeObjectHandle
- %JSON_FreeArrayHandle
- %JSON_ObjectSetValue
- %JSON_ObjectSetArray
- %JSON_ObjectSetObject
- %JSON_ArraySetValue
- %JSON_ArraySetArray
- %JSON_ArraySetObject
- %JSON_ArrayAppendValue
- %JSON_ArrayAppendArray
- %JSON_ArrayAppendObject
- %JSON_ObjectGetValue
- %JSON_ObjectGetArray
- %JSON_ObjectGetObject
- %JSON_ArrayGetValue
- %JSON_ArrayGetArray
- %JSON_ArrayGetObject
- %JSON_ObjectIsValue
- %JSON_ObjectIsArray
- %JSON_ObjectIsObject
- %JSON_ArrayIsValue
- %JSON_ArrayIsArray
- %JSON_ArrayIsObject
- %JSON_ArrayGetLength
- %JSON_ArraySetLength
- %JSON_ArrayClear
- %JSON_ArrayRemoveItem
- %JSON_ObjectGetFieldsCount
- %JSON_ObjectGetFieldName
- %JSON_ObjectHasField
- %JSON_ObjectClear
- %JSON_ObjectRemoveField
- %JSON_ObjectToString
- %JSON_ObjectFromString
- %JSON_ArrayToString
- %JSON_ArrayFromString
Súvisiace stránky:
Pridať komentár