Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

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
languageesl
themeRDark
 INT _obj
 INT _clientInfo
 TEXT _docd2version
 
 _docobj := %XML%JSON_CreateDocumentObjectFromString(ModuleInfo)
 INT _el
clientInfo _el := %XML%JSON_AddElementObjectGetObject(_docobj, "element")
Blok kódu
languageesl
themeRDark
INT _txt
Blok kódu
languageesl
themeRDark
_txtclient_data")

 %JSON_FreeObjectHandle(_obj) ; uvolnim handle na _obj, _clientInfo je stale platny handle

 _d2version := %XML%JSON_AddTextNodeObjectGetValue(_el, "obsah elementu")
Blok kódu
languageesl
themeRDark
BOOL _ok
Blok kódu
languageesl
themeRDark
_ok := %XML_SaveDocument(_doc, "c:\dokument.xml")

Vytvorí 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 XML súbormi:

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:


Info
titleSúvisiace stránky:

Rozšírená implementácia funkcií v ESL

...