JsonGetArray
value JsonGetArray ( value json, value Index / string strPath );
Rückgabewert
Rückgabewert |
Beschreibung |
JSONARRAY-Objekt |
Das neu erstellte JSONARRAY-Objekt, das mit den JSONARRAY-Daten des gewählten Elements geladen wurde. |
FALSE / false / 0 |
Das
Auslesen des JSONARRAY-Elements ist fehlgeschlagen. |
Parameter
jsonArray
Das JSON-Objekt, von dem ein JSONARRAY-Element ausgelesen werden soll.
Index
Die Position des JSONARRAY-Elements, das aus dem JSON-Objekt json ausgelesen werden soll. Für das erste JSON-Element gilt: Index = 0.
strPath
Der Pfad des JSONARRAY-Elements, das aus dem JSON-Objekt json ausgelesen werden soll.
Bemerkungen
Erzeugt ein JSONARRAY-Objekt, das mit dem Inhalt des JSONARRAY-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 JSONARRAY-Objekt nicht mehr benötigt, so sollte mit JsonArrayClose zerstört werden.
Das zugelieferte JSONARRAY-Objekt (hier jsonResult genannt) ist ein Referenzobjekt zum JSONARRAY-Objekt (hier jsonFound genannt) das im JSON-Objekt json gefunden wurde. Das bedeutet, jede Änderung am JSONARRAY-Objekt jsonResult wirkt sich direkt auf das JSONARRAY-Objekt jsonFound im JSON-Objekt json aus. Wird das JSONARRAY-Objekt jsonResult mit JsonArrayClose geschlossen, so hat dies keine Auswirkung auf das JSONARRAY-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 productArray; productArray = JsonGetArray(json, "Produktliste.Produkt"); if (productArray != null) strJson = JsonArrayToString(productArray); end //Inhalt von strJson: //[ // { // "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 // } //] JsonClose(json);
Siehe auch JsonGetBool, JsonGetNumber, JsonGetObject, JsonGetString, JsonGetRoot, JsonGetSize, JsonGetArraySize, JsonGetType