Lade...
 

CX_JSON_OBJECT::GetTyped

CX_JSON_OBJECT::GetTyped
CX_JSON_ARRAY::GetTyped

168869
Beschreibung:

Diese Methode liefert den Wert des Feldes mit dem angegebenen Zugriffspfad aus dem JSON-Objekt/Array. Der Aufruf verhält sich bei primitiven Datentypen (INTEGER, STRING) wie Copy und bei Referenztypen (CX_JSON_ARRAY, CX_JSON_OBJECT) wie Get. Sollte der Zugriffspfad nicht existieren, dann wird INVALID auf den Stack gelegt.

Sollte man mit GetTyped also ein JSON-Objekt erhalten, dann erhält man eine Referenz auf diesen Teil des JSON-Objekts. Diese Referenz (View) ist nur solange gültig, wie das Wurzelelement, über welches die Referenz zurückgegeben wurde. Um eine eigenständige Kopie dieses Ausschnitts zu erhalten, muss das Objekt per CopyTransObject in ein neues Wurzelelement kopiert werden.

Falls GetTyped auf einem CX_JSON_ARRAY aufgerufen wird, dann kann das erste Element über folgende Zugriffspfade referenziert werden:

"[0]" jsonArray Call(GetTyped) "this[0]" jsonArray Call(GetTyped)

 

Code-Beispiel:
Var(root) CreateTransObject(CX_JSON_OBJECT) -> root 3 "constants.pi" root Call(PutTyped) //root = {"constants":{"pi":3}} "constants.pi" root Call(GetTyped) //3 Var(constants) "constants" root Call(GetTyped) -> constants //constants = {"pi":3} 3.1415926 "pi" constants Call(PutTyped) //root = {"constants":{"pi":3.1415926}} constants CopyTransObject -> constants 5 "pi" constants Call(PutTyped) //root = {"constants":{"pi":3.1415926}}, constants = {"pi":5} "constants.pi" root Call(GetTyped) //3.1415926

 

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_JSON_OBJECT
CX_JSON_ARRAY
Die JSON-Struktur aus welcher der Feldwert ausgelesen werden soll
  Top-1 STRING Der Zugriffspfad zum Feld, welches ausgelesen werden soll
Stack(Out) Top ANY Der Feldwert oder INVALID, falls das Feld nicht existiert
Funktionsaufruf: Call(GetTyped)