{
"nome" : "Paolo Rossi",
"eta" : 33,
"email": ["prossi@ppp.it","paolorossi@xpop3.it"],
"indirizzi": [
{
"indirizzo": "Via Dei Mille, 34",
"citta" : "Milano",
"provincia": "MI"
},
{
"indirizzo": "Via T. Tasso, 1",
"citta" : "Messina",
"provincia": "ME"
}
]
}
{
/*
questo è un commento
*/
/* impostazioni globali */
"name" : "Employee",
"release" : "0.1",
/* informazioni sui database da aggiornare */
"targets": [
{
"type" : "Firebird 2.0",
"host" : "192.168.0.1",
"database": "/db/fb2.0/myprojects/EMPLOYEE.FDB",
"user" : "SYSDBA",
"password": "masterkey",
"settings": [
{
"type" : "database",
"page" : "8192",
"dialect" : 3,
"collation": "ISO8859_1"
}
]
},
{
"type" : "Firebird 1.5",
"host" : "192.168.0.2",
"database": "/db/fb1.5/myprojects/EMPLOYEE.FDB",
"user" : "SYSDBA",
"password": "masterkey",
"settings": [
{
"type" : "database",
"page" : "8192",
"dialect" : 3,
"collation": "ISO8859_1"
}
]
}
],
}
procedure TForm1.ScanDef(FilePath: string; log: TStrings);
var
obj, item: ISuperObject;
tottargets, scanitem: integer;
tottsettings, scansettings: integer;
begin
try
log.Add('reading structure...');
log.Add(' path: ' + FilePath);
obj := TSuperObject.ParseFile(FilePath, TRUE);
log.Add(' read success');
log.Add(' type : ' + obj['type'].AsString );
log.Add(' name : ' + obj['name'].AsString );
log.Add(' release : ' + obj['release'].AsString );
// targets
tottargets := obj['targets'].AsArray.Length;
log.Add(' nr. targets: ' + IntToStr(tottargets) );
for scanitem:=0 to tottargets - 1 do begin
item := obj['targets'].AsArray.O[scanitem];
log.Add( ' * target: ' + inttostr(scanitem + 1) );
log.Add( ' type : ' + item['type'].AsString );
log.Add( ' host : ' + item['host'].AsString );
log.Add( ' path : ' + item['path'].AsString );
log.Add( ' user : ' + item['user'].AsString );
log.Add( ' password : ' + item['password'].AsString );
tottsettings := item['settings'].AsArray.Length;
log.Add(' nr. settings: ' + IntToStr(tottsettings) );
for scansettings:=0 to tottsettings - 1 do begin
item := item['settings'].AsArray.O[scansettings];
log.Add( ' * settings: ' + inttostr(scansettings + 1) );
log.Add( ' type : ' + item['type'].AsString );
log.Add( ' page : ' + item['page'].AsString );
log.Add( ' dialect : ' + item['dialect'].AsString );
log.Add( ' collation: ' + item['collation'].AsString );
end;
end;
except
on e: exception do begin
log.Add('');
log.Add('');
log.Add('*** ERRORE ***');
log.Add(e.Message);
end;
end;
end;