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.
Es wurde kein Element an der Position Index gefunden bzw. das Element an der Position ist kein JSON-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 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);
 

Die Json-Funktionen

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