JsonGetObject
value JsonGetObject ( value json, value Index / string strPath );
Rückgabewert
Rückgabewert |
Beschreibung |
JSON-Objekt |
Das neu erstellte JSON-Objekt, das mit den JSON-Daten des gewählten Elements geladen wurde. |
FALSE / false / 0 |
Das
Auslesen des JSON-Elements ist fehlgeschlagen. |
Parameter
jsonArray
Das JSON-Objekt, von dem ein JSON-Element ausgelesen werden soll.
Index
Die Position des JSON-Elements, das aus dem JSON-Objekt json ausgelesen werden soll. Für das erste JSON-Element gilt: Index = 0.
strPath
Der Pfad des JSON-Elements, das aus dem JSON-Objekt json ausgelesen werden soll.
Bemerkungen
Erzeugt ein JSON-Objekt, das mit dem Inhalt des JSON-Elements geladen wird, das sich an der Position Index im JSON-Objekt json befindet bzw. über den Pfad strPath im JSON-Objekt json erreichbar ist. Wird das JSON-Objekt nicht mehr benötigt, so sollte mit JsonClose zerstört werden.
Das zugelieferte JSON-Objekt (hier jsonResult genannt) ist ein Referenzobjekt zum JSON-Objekt (hier jsonFound genannt) das im JSON-Objekt json gefunden wurde. Das bedeutet, jede Änderung am JSON-Objekt jsonResult wirkt sich direkt auf das JSON-Objekt jsonFound im JSON-Objekt json aus. Wird das JSON-Objekt jsonResult mit JsonClose geschlossen, so hat dies keine Auswirkung auf das JSON-Objekt jsonFound im JSON-Objekt json.
Lassen sich bei Json-Funktionen Elemente
über deren Pfad ansprechen, so beginnt der Pfad am Root-Element des JSON-Objekts,
das der Funkion übergeben wurde.
Der Pfad besteht aus den Punkt-getrennten Elementnamen, die durchlaufen
werden müssen, um das Zielelement zu benennen. Soll das n-te
Element eines JSONARRAY-Objekts angesprochen werden, so muss nach dem
Elementnamen des Arrays ein [
der Index n des gewünschten Arrayelements
und ein ] folgen.
Beispiel: "Produktliste.Produkt[1].Type"
(Pfad des JSONARRAY-Elements 'Type')
Beispiel: "Produktliste.Produkt[1]"
(Pfad des JSON-Elements, das sich an der Position 1 des JSONARRAY-Elements
'Produkt' befindet)
Beispiel: "Produktliste.Produkt"
(Pfad des JSONARRAY-Elements 'Produkt')
Beim Beenden eines laufenden Projekts schließt Victory automatisch alle nicht geschlossenen JSON/JSONARRAY-Objekte, wird z.B. ein JSONARRAY-Objekt mit JsonArrayCreate im _InitApplication erzeugt und dieses dann dauerhaft verwendet, so muss dieses nicht explizit im _ExitApplication geschlossen werden.
Beispiel
//Inhalt von Datei "Produktliste.json": //{ // "Produktliste": { // "Produktgruppe": "PVC-isolierte Starkstromkabel 0,6/1kV", // "Produkt": [ // { // "Type": "E-YY 4 x 6 RE", // "Aderanzahl": 4, // "Aussendurchmesser": 15, // "Belastbarkeit (Erde)": 59, // "Belastbarkeit (Luft)": 43, // "Verfügbar": true // }, // { // "Type": "E-YY 1 x 16 RE", // "Aderanzahl": 1, // "Aussendurchmesser": 11, // "Belastbarkeit (Erde)": 107, // "Belastbarkeit (Luft)": 84, // "Verfügbar": false // } // ] // } //} value json; if (!JsonCreateFromFile(json, "Produktliste.json")) return (false); end string strJson; value product; product = JsonGetObject(json, "Produktliste.Produkt[1]"); if (product != null) strJson = JsonToString(product); end //Inhalt von strJson: //{ // "Type": "E-YY 1 x 16 RE", // "Aderanzahl": 1, // "Aussendurchmesser": 11, // "Belastbarkeit (Erde)": 107, // "Belastbarkeit (Luft)": 84, // "Verfügbar": false //} JsonClose(json);
Siehe auch JsonGetArray, JsonGetBool, JsonGetNumber, JsonGetString, JsonGetRoot, JsonGetSize, JsonGetArraySize, JsonGetType