Vielen Dank an alle! Das ganze läuft mittlerweile, allerdings hat sich ein (für mich) viel größeres Problem aufgetan, wo mir so jeglicher Ansatzpunkt fehlt.
So sieht das ganze bis dato aus und läuft auch.
Code:
var
JSonObject: TJSonObject;
JSonValue: TJSonValue;
JSonArray: TJsonArray;
id, name, description, sku: string;
i,j: integer;
begin
JsonValue := TJSONObject.ParseJSONValue(Memo1.Text);
if Assigned(JsonValue) then
try
JSonArray := JsonValue as TJSONArray;
j := 1;
for i := 0 to JSonArray.Count-1 do
begin
JSonObject := JSonArray.Items[i] as TJSonObject;
id := JSonObject.GetValue('id').Value;
sku := JSonObject.GetValue('sku').Value;
description := JSonObject.GetValue('description').Value;
name := JSonObject.GetValue('name').Value;
//Überschriften
StringGrid1.Cells[0,0] := 'ID';
StringGrid1.Cells[1,0] := 'Artikelnummer';
StringGrid1.Cells[2,0] := 'Name';
StringGrid1.Cells[3,0] := 'Preis';
StringGrid1.Cells[4,0] := 'Beschreibung';
// Daten
StringGrid1.Cells[0,j] := id;
StringGrid1.Cells[1,j] := sku;
StringGrid1.Cells[2,j] := name;
StringGrid1.Cells[3,j] := price1;
StringGrid1.Cells[4,j] := description;
Inc(j);
end;
finally
JsonValue.Free;
end;
end;
Jetzt habe ich aber festegestellt, dass ich auch noch ein paar Info's brauche, welche tiefer verschachtelt sind und sich (vermutlich) per Name nicht ansprechen lassen.
Und genau endet mein eh bescheidenes KnowHow im Moment.
Ich habe die Struktur mal angehangen. Der Knoten 'bm_psi_bulk_prices' ist auf jeden Fall immer vorhanden, aber nicht zwangsläufig gefüllt, und kann auch mehr oder weniger Einträge haben.
Danke für einen kleinen Ansatz, wie ich mich da rantasten kann.