procedure Tform1.dojson(jsonstr: string);
var
keyname: string;
jdata: TJSONData;
i, j, x, mainloop: integer;
tempjobj, dataarrayitem: tjsonobject;
en_word, language, Value: string;
sensesarray, headsarray, synonymsarray: TJSONArray;
begin
jdata := GetJSON(jsonstr);
tempjobj := Tjsonobject(jdata);
en_word := tempjobj.FindPath('word').AsString;
language := tempjobj.FindPath('lang').AsString;
for mainloop := 2 to jdata.Count - 1 do
begin
keyname := tjsonobject(jdata).Names[mainloop];
if keyname = 'heads' then
begin
headsarray := TJSONArray(jdata.items[mainloop]);
DataArrayItem := headsarray.Objects[0];
for I := 0 to dataarrayitem.Count - 1 do
begin
keyname := dataarrayitem.Names[i];
Value := DataArrayItem[keyname].AsString;
end;
end
else if keyname = 'senses' then
begin
sensesarray := TJSONArray(jdata.items[mainloop]);
for i := 0 to sensesarray.Count - 1 do
begin
DataArrayItem := sensesarray.Objects[i];
for j := 0 to dataarrayitem.Count - 1 do
begin
keyname := dataarrayitem.Names[j];
Value := dataarrayitem.FindPath(keyname + '[0]').AsString;
end;
end;
end;
end;
jData.Free;
end;