Lieben Dank für die ganzen Anregungen. Den Ansatz mit mrot finde ich interessant @venice2, ich scheitere aber sowohl bei mrot als auch bei deddys Ansatz an irgendeiner Stelle der Arrays. Ich habe versucht Deddys Beispiel entsprechend anzupassen. Er gibt mir aber keinen Wert zurück...:
Delphi-Quellcode:
lJSON := TJSONObject.ParseJSONValue(mmo1.Text) as TJSONObject;
Value := lJSON.Values['entries'];
if Assigned(Value) and (Value is TJSONArray) then
begin
// Das data-Array
Arr := TJSONArray(Value);
for i := 0 to Arr.Count - 1 do
if Arr.Items[i] is TJSONObject then
begin
// Die einzelnen Objekte im data-Array
lInnerJSON := TJSONObject(Arr.Items[i]);
Value := lInnerJSON.Values['orderitems'];
if Assigned(Value) and (Value is TJSONArray) then
begin
// Das art-Array je data-Objekt
lInnerArr := TJSONArray(Value);
for j := 0 to lInnerArr.Count - 1 do
if lInnerArr.Items[j] is TJSONObject then
begin
// Das gesuchte Objekt innerhalb des art-Arrays
lArt := TJSONObject(lInnerArr.Items[j]);
if not lArt.TryGetValue<string>('id', lID) then
lID := '';
end;
end;
end;
end;
Ich hab die JSON komplett auch einmal angehängt..