gpt4 book ai didi

rest - TJSON.JsonToObject 不通过 setter

转载 作者:行者123 更新时间:2023-12-03 15:58:59 30 4
gpt4 key购买 nike

将 Json 字符串转换为我自己的对象时遇到一些问题。我举一些例子:

我的类(class):

  TClasse = class
private
Fid: integer;
Fnome: string;
procedure Setid(const Value: integer);
procedure SetNome(const Value: string);
published
property id : integer read Fid write Setid;
property nome : string read Fnome write SetNome;
end;

implementation

procedure TClasse.SetNome(const Value: string);
begin
Fnome := Value;
Fnome := 'testing: '+Fnome;
end;

我使用该方法:

  cl := TJSON.JsonToObject<TClasse>('{ "id" : 12, "nome" : "abc" }');

这意味着当执行“JsonToObject”方法时,他将实例化我的类并通过 setter 将值设置为 then。属性“nome”应该具有值“testing: abc”,但它只有 json 中的“abc”部分。调试也不通过 setter 。

我做错了什么吗?

最佳答案

您可以创建一个新类,例如TJSON_Respond帮助序列化

TJSON_Respond= class
public
[JSONName('id')] id: Integer;
[JSONName('nome')] nome: String;
end;

cl := TJson.JSONToObject<TJSON_Respond>('{ "id" : 12, "nome" : "abc" }');

关于rest - TJSON.JsonToObject 不通过 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58082528/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com