Fórum JSON Delphi 7 #405881
02/08/2011
0
Pessoal, qual framework/biblioteca seria melhor para trabalhar com JSON no Delphi 7 ?
Ronaldo Bim
Curtir tópico
+ 0
Responder
Posts
14/01/2013
Dorivan Sousa
JSON Delphi Library (lkJSON)
Example of use:
I get this JSON string:
{"Geocod": [{"acuracy": 90.12, "Addr": {"dir": "Carrer Major,10", "cp": "08551", "pob": "Tona", "prov": "Barcelona", "pais": "Spain" },"Coor": { "lat": 2.233180, "lng": 41.853790 }}, {"acuracy": 80.21, "Addr": {"dir": "Carrer Major, 30", "cp": "08551", "pob": "Tona", "prov": "Barcelona", "pais": "Spain" },"Coor": { "lat": 2.333180, "lng": 41.253790 }}]}
This is on Memo2.Lines;
Delphi example code:
procedure TForm1.Button7Click(Sender: TObject);
var
js: TlkJSONobject;
ja: TlkJSONlist;
i: integer;
s: string;
begin
Memo3.Lines.Clear;
js := TlkJSON.ParseText(Memo2.Text) as TlkJSONobject;
ja := js.Field[Geocod] as TlkJSONlist;
Memo3.Lines.Add(Format(Registers: %d, [ja.Count]));
for i := 0 to ja.Count - 1 do
begin
s := VarToStr(ja.Child[i].Field[acuracy].Value) + - +
VarToStr(ja.Child[i].Field[Addr].Field[dir].Value) + - +
FormatFloat(0.0000, ja.Child[i].Field[Coor].Field[lat].Value) + - +
FormatFloat(0.0000, ja.Child[i].Field[Coor].Field[lng].Value);
Memo3.Lines.Add(s);
end;
end;
Example of use:
I get this JSON string:
{"Geocod": [{"acuracy": 90.12, "Addr": {"dir": "Carrer Major,10", "cp": "08551", "pob": "Tona", "prov": "Barcelona", "pais": "Spain" },"Coor": { "lat": 2.233180, "lng": 41.853790 }}, {"acuracy": 80.21, "Addr": {"dir": "Carrer Major, 30", "cp": "08551", "pob": "Tona", "prov": "Barcelona", "pais": "Spain" },"Coor": { "lat": 2.333180, "lng": 41.253790 }}]}
This is on Memo2.Lines;
Delphi example code:
procedure TForm1.Button7Click(Sender: TObject);
var
js: TlkJSONobject;
ja: TlkJSONlist;
i: integer;
s: string;
begin
Memo3.Lines.Clear;
js := TlkJSON.ParseText(Memo2.Text) as TlkJSONobject;
ja := js.Field[Geocod] as TlkJSONlist;
Memo3.Lines.Add(Format(Registers: %d, [ja.Count]));
for i := 0 to ja.Count - 1 do
begin
s := VarToStr(ja.Child[i].Field[acuracy].Value) + - +
VarToStr(ja.Child[i].Field[Addr].Field[dir].Value) + - +
FormatFloat(0.0000, ja.Child[i].Field[Coor].Field[lat].Value) + - +
FormatFloat(0.0000, ja.Child[i].Field[Coor].Field[lng].Value);
Memo3.Lines.Add(s);
end;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)