首页 > 其他分享 >ChatGPT: delphi rtti访问类公共属性生成json字符串

ChatGPT: delphi rtti访问类公共属性生成json字符串

时间:2023-02-10 15:36:18浏览次数:33  
标签:begin end JsonObject delphi Prop Person json Context ChatGPT

uses
  System.Rtti, System.JSON;

type
  TPerson = class
  public
    Name: string;
    Age: Integer;
  end;

function ObjectToJSON(AObject: TObject): string;
var
  Context: TRttiContext;
  RttiType: TRttiType;
  Prop: TRttiProperty;
  Value: TValue;
  JsonObject: TJSONObject;
begin
  Context := TRttiContext.Create;
  try
    RttiType := Context.GetType(AObject.ClassType);
    JsonObject := TJSONObject.Create;
    try
      for Prop in RttiType.GetProperties do
      begin
        if Prop.IsReadable then
        begin
          Value := Prop.GetValue(AObject);
          JsonObject.AddPair(Prop.Name, Value.AsString);
        end;
      end;
      Result := JsonObject.ToString;
    finally
      JsonObject.Free;
    end;
  finally
    Context.Free;
  end;
end;

var
  Person: TPerson;
begin
  Person := TPerson.Create;
  try
    Person.Name := 'John Doe';
    Person.Age := 30;
    WriteLn(ObjectToJSON(Person));
  finally
    Person.Free;
  end;
end.

这段代码使用了 RTTI 来获取类的公共属性,并将其值添加到一个 JSON 对象中。最后,将 JSON 对象转换为字符串并返回结果。

 

标签:begin,end,JsonObject,delphi,Prop,Person,json,Context,ChatGPT
From: https://www.cnblogs.com/onlyou13/p/17109108.html

相关文章

  • 谁在支撑ChatGPT?从聊天机器人看AI大模型的广阔前景
    2023年初,能够和人类进行对话的聊天机器人ChatGPT火爆全球,与Siri、小爱同学等只能进行简单对话和执行简单指令的机器人不同,它是由美国顶级AI创企OpenAI在2022年底上线的对话......
  • 广州华锐互动利用ChatGpt助力元宇宙营销实现快速语言处理
    在当今的商业环境中,营销是至关重要的。然而,营销不仅仅是一个广告语或一个宣传活动,它需要更深入的思考和策略。这是ChatGpt可以发挥其作用的地方。ChatGpt是一种强大的语言......
  • ChatGPT: delphi ass字幕转srt字幕
    usesSysUtils,Classes,DateUtils;constLineBreak=#13#10;typeTSubtitle=recordStart,Stop:TDateTime;Text:string;end;functionPa......
  • 人工智能ChatGpt在教育元宇宙行业的应用分析
    ChatGPT是一种强大的人工智能语言模型,由OpenAI训练,具有非常出色的语言理解能力。它可以完成许多语言任务,例如对话,文本生成,问答,摘要,翻译等。它可以用于各种应用场景,如客服机......
  • 如何利用人工智能改善医疗行业?浅谈ChatGpt在医疗元宇宙的应用
    随着技术的不断进步,广州华锐互动打造出了适合医疗行业的元宇宙,并且也在不断寻找更加高效的方法来改善患者的医疗体验。这里,广州华锐互动为大家介绍一种利用人工智能的方法:C......
  • 解决:ChatGPT too many requests in 1 hour.Try again later 怎么办?OpenAI 提示
    ChatGPT提示:Toomanyrequestsin1hour.Tryagainlater.如下图,我多次访问也出现同样的问题。中文意思是太多的请求数量在当前1个小时内,请稍后重试。那怎么办?怎么......
  • 如何注册 ChatGPT ,OpenAI
    ChatGPT火爆出圈,但是OpenAI(开发 ChatGPT 的公司)却不对国内用户正式开放使用。但是,我们仍然有办法可以在第一时间体验到这个超强AI。下面我来教你如何手把手完成注册C......
  • 全网最全ChatGPT国内使用方式
    过完年回来发现ChatGPT越来越火,在网上可以看到各种和ChatGPT有趣聊天的截图,奈何自己实力不够,被外网拒之门外,只能眼馋别人能够与机器人尽情玩耍。今天为大家带来网上最全Cha......
  • JSON
    JSONObjectJSONObjectjsonObject=newJSONObject();jsonObject.put("id",null);jsonObject.put("class","12");jsonObject.put("name","");//使用默认序列化方......
  • 我们问了人工智能ChatGPT十个运维问题,结果发现...
    2022年底,人工智能研究实验室OpenAI开发的,基于人工智能技术驱动的自然语言处理工具ChatGPT横空出世。ChatGPT上知天文下知地理,还能根据聊天的上下文进行互动,一经推出就火爆全......