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 dokumentformáte, vytvárať, čítať, zapisovať a vymazávať JSON elementyobjekty. 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:
Blok kódu |
---|
|
INT _obj
INT _clientInfo
TEXT _docd2version
_docobj := %XML%JSON_CreateDocumentObjectFromString(ModuleInfo)
INT _el
_elclientInfo := %XML%JSON_AddElementObjectGetObject(_docobj, "element") |
Blok kódu |
---|
|
_txtclient_data")
%JSON_FreeObjectHandle(_obj) ; uvolnim handle na _obj, _clientInfo je stale platny handle
_d2version := %XML%JSON_AddTextNodeObjectGetValue(_elclientInfo, "obsah elementu") |
Blok kódu |
---|
|
_ok := %XML_SaveDocument(_doc, "c:\dokument.xml") |
"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ázyVytvorí sa prázdny XML dokument, vloží do neho element a do elementu vloží text. Potom XML dokument uloží na disk.
Funkcie pre prácu s JSON formátom:
...