Was unter 'profile.names' steht, ist kein Array, sondern ein Objekt mit 2 Eigenschaften, die jeweils wieder ein Objekt beinhalten.
Soweit ich gesehen habe, bietet SuperObject keinen einfachen Weg, um Name-Wert Paare eines Objekts zu iterieren.
Aber so geht es mit
JsonDataObjects:
Delphi-Quellcode:
var
vJSON: TJsonObject;
vObj: TJsonObject;
vItem: TJsonNameValuePair;
begin
vJSON := TJsonBaseObject.ParseFromFile(filename, true) as TJsonObject;
vObj := vJSON.O['profile'].O['names'];
for vItem in vObj do
Writeln(vItem.Name, ':', vItem.Value.S['showname']);
end.