Пример по использованию JSON
uses
System.IOUtils, System.JSON;
procedure TForm1.btLoadClick(Sender: TObject);
var
AOptions: TJSONObject;
AGroup: TJSONObject;
AParam: TJSONValue;
begin
if FileExists(FFileName) then
begin
AOptions := TJSONObject(TJSONObject.ParseJSONValue(TFile.ReadAllText(FFileName)));
AGroup := TJSONObject(AOptions.GetValue('group1'));
if AGroup <> nil then
begin
AParam := AGroup.GetValue('edit1');
if AParam <> nil then
Edit1.Text := TJSONString(AParam).Value;
AParam := AGroup.GetValue('edit2');
if AParam <> nil then
Edit2.Text := TJSONNumber(AParam).Value;
end;
AGroup := TJSONObject(AOptions.GetValue('group2'));
if AGroup <> nil then
begin
AParam := AGroup.GetValue('checkbox1');
if AParam <> nil then
CheckBox1.IsChecked := AParam is TJSONTrue;
end;
end;
end;
procedure TForm1.btSaveClick(Sender: TObject);
var
AOptions: TJSONObject;
AGroup: TJSONObject;
AParam: TJSONValue;
APair: TJSONPair;
begin
AOptions := TJSONObject.Create;
AGroup := TJSONObject.Create;
AGroup.AddPair('edit1', Edit1.Text);
if Edit2.Text.Trim <> '' then
AGroup.AddPair('edit2', TJSONNumber.Create(Edit2.Text));
AOptions.AddPair('group1', AGroup);
AGroup := TJSONObject.Create;
if CheckBox1.IsChecked then
AGroup.AddPair('checkbox1', TJSONTrue.Create)
else
AGroup.AddPair('checkbox1', TJSONFalse.Create);
AOptions.AddPair('group2', AGroup);
TFile.WriteAllText(FFileName, AOptions.ToString);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
{$IFDEF ANDROID}
//Если файл во внутреннем накопителе то GetDocumentsPath
//Если файл на внешнем накопителе то GetSharedDocumentsPath
FFileName := TPath.Combine(TPath.GetSharedDocumentsPath, 'Options.json');
{$ENDIF}
{$IFDEF MSWINDOWS}
FFileName := ExtractFilePath(ParamStr(0)) + 'Options.json';
{$ENDIF}
end;
Также почитай http://www.webdelphi.ru/2011/10/rabota-s-json-v-delphi-2010-xe2/
Primer.zip