Да, согласен. Но если автор хочет "родными", то выглядит это так:
type
TTelegaUser = Class
private
FID: Integer;
FFirst_Name: String;
FLast_Name: String;
FUsername: String;
published
property ID: Integer read FID write FID;
property First_Name: String read FFirst_Name write FFirst_Name;
property Last_Name: String read FLast_Name write FLast_Name;
property Username: String read FUsername write FUsername;
End;
.....
procedure TForm1.Button1Click(Sender: TObject);
var
TelegaUser: TTelegaUser;
begin
TelegaUser := TJson.JsonToObject<TTelegaUser>(MEMO1.Lines.Text);
end;
........
В memo1 лежит ваш JSON
{"id":122041176,"first_name":"Delphi in TelegAPI","username":"test_delphi_api_bot"}
Важно чтобы у класса Свойства назывались точно так-же как в JSON.