CX_JSON_OBJECT::GetTyped
CX_JSON_ARRAY::GetTyped
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 | 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 |