{"a":3.1415926,"rows":
[{"f1":"aa","f2":1234},
{"f1":"bb","f2":3.122}]}
var
lvJson, lvJsonItem: TJSONObject;
lvRows: TJSONArray;
lvfVal: Double;
i: integer;
begin
lvJson := TJSONObject.ParseJSONValue(Memo1.Lines.text, true) as TJSONObject;
lvRows := lvJson.GetValue('rows') as TJSONArray;
for i := 0 to lvRows.Count - 1 do
begin
lvJsonItem := (lvRows.Items[i] as TJSONObject);
lvfVal := (lvJsonItem.Values['f2'] as TJSONNumber).AsDouble;
Memo2.Lines.Add(lvJsonItem.Values['f1'].ToString + floattostr(lvfVal));
end;
lvJson.Destroy;
end;