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.
Es wurde kein Element an der Position Index gefunden bzw. das Element an der Position ist kein JSONARRAY-Element.
Es wurde kein Element mit dem Pfad strPath gefunden bzw. das Element mit dem Pfad strPath ist kein JSONARRAY-Element.

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);
 

Die Json-Funktionen

Siehe auch  JsonGetBoolJsonGetNumber, JsonGetObject, JsonGetString, JsonGetRoot, JsonGetSize, JsonGetArraySize, JsonGetType