TJSON.JsonToObject 不通过 setter

2023-12-01

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

我的课:

  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”方法时,他将实例化我的类并通过设置器将值设置为 then。属性“nome”应该具有值“testing: abc”,但它只有 json 中的“abc”部分。调试也不通过设置器。

难道我做错了什么?


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

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

cl := TJson.JSONToObject<TJSON_Respond>('{ "id" : 12, "nome" : "abc" }');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TJSON.JsonToObject 不通过 setter 的相关文章

随机推荐

  • VS2010 中的 MFC100d.dll 问题

    我在 vs2010 上有一个 mfc c 项目 我可以在调试和发布模式下构建它 但是当我在调试模式下运行它时 它会给出以下 mfc100d dll 错误 我还安装了C 运行环境vcredist x86 exe问题仍然没有解决 我还设置了多线
  • JfreeChart:水平滚动 XYBarChart -(图表翻译和导航)

    我正在尝试水平滚动 XYBarChart 我正在关注 JfreeChart 的演示 TranslateDemo1 java 之一 您可以在其中找到源代码 源代码适用于 TimeSeriesChart 然而 我尝试使用 XYBarChart
  • Request.js 请求方法返回结果?

    var request require request var cheerio require cheerio request url function error response html if error response statu
  • 无法将 DBNull.Value 转换为类型“System.DateTime”。请使用可为 null 的类型

    这是我的代码 var finalResults from r in results AsEnumerable where r Field
  • window.open缓存问题

    我在用着窗口 打开在打开网页的函数中 该函数显示有关 当前页面 页面 URL 存储在 DB 中 某些页面需要身份验证 对于这些页面 我们第一次调用它们时 用户必须进行身份验证 但如果他关闭页面并再次打开它 则会显示缓存的页面 我尝试将时间添
  • 减去 Pandas 中两个不平衡的 DataFrame

    我有两个不平衡的 DataFrame 并且想通过减去值来创建第三个 DataFrame 以获得它们之间的增量 这是三个数据框的示例 我想用当前值减去相应的预期值来得到 DELTA 这按预期工作 当 CURRENT 和 EXPECTED 中的
  • 使用 c# 或批处理自动使用 winrar 提取 ISO

    我正在尝试将 ISO 提取到具有相同名称但末尾没有 iso 的文件夹中 我在使用 winrar 时遇到问题 因为当我从包含 ISO 的文件夹中开始搜索时 它不会启动提取 已更新答案代码 private void ExtractISO str
  • ajax - 新选项卡中的 pdf

    我正在使用 Laravel 我在 post 方法后得到一个 PDF 并使用 Ajax 发出此请求 成功后如何在新选项卡中显示此 PDF 当我不使用 Ajax 运行代码时 它可以工作 但是当我想用 Ajax 运行它时 我不知道如何在新选项卡中
  • Excel如何在不使用VBA的情况下从逗号分隔列表中查找匹配元素的所有行

    这是我的问题 我有一个包含两列的表 产品参考和相应的通知 ID A B C D 1 Product Notice 2 p1 n1 3 p2 n2 4 p3 n3 5 6 p1 p3 edi
  • 是否可以在 java Manifest 文件中包含 SHA1-Digest 而无需实际使用密钥

    目前我们使用 jarsigner 来签署我们的 jar 然后 我们显示某些特定类的一些 SHA1 Digest 值 以向外部审计员证明代码在版本之间没有更改 我们只依靠META INF xxx SF文件来获取摘要信息 我们从不使用META
  • ANSI 转义序列不会打印到 Windows 上的标准输出

    我正在尝试在 Windows 上使用 node js 将 ANSI 转义序列写入 stdout 但它似乎不起作用 具体来说 我使用ConEmu这确实supportANSI 代码的子集 我创建了一个测试文件 该文件应重命名当前控制台选项卡 p
  • jQuery:如何确定div是否向下滚动

    我有一个具有定义高度的 div 并且overflow scroll 它的内容太长 因此出现滚动条 现在是发痒的部分 它的一些内部 HTML 总是奇怪地出现 准确地说 是 tableFilter 插件生成的表格的页脚 我想让这个页脚在不需要时
  • 从特定行开始读取目录中的多个文件

    我正在尝试从工作目录读取 R 中的多个文件 并且想从每个文件的第 7 行读取 我不知道我该怎么做 我发现如何用这个读取单个文件 data read csv file choose skip 6 或者我可以像这样读取多个文件 j list f
  • 使用 VBA 从文件中提取 XML 值

    请相信我 我really已经用谷歌搜索过 但我是使用 VBA 的 XML 新手 我见过的所有示例都使用我所说的 简单 XML 而我的示例 对我来说 似乎更复杂 首先 这是我的 XML 的简单摘录 如果我能设法用块引号附加它
  • 从 PowerShell 执行外部命令不接受参数

    我正在执行以下代码 尝试执行 7z exe 命令来解压缩文件 dir 包含用户输入的 zip 文件路径can当然包含空格 下面的 dir temp2 是我之前创建的目录 Get ChildItem path dir Filter zip F
  • 在 requirejs 模块 javascript 中调用函数内部的函数

    大家好 这可能吗 在 requirejs 模块内的函数内调用函数 TIA define common function Common return func1 function return this is function 1 func2
  • 另一个排列词难题......使用 Linq?

    我见过很多获取给定字母集的所有排列的例子 递归似乎可以很好地获得一组字母的所有可能组合 尽管它似乎没有考虑其中两个字母是否相同 我想知道的是 您是否可以使用 linq 或不使用 将所有可能的字母组合减少到 3 个字母组合 例如 给定字母 P
  • 更新/编辑 localStorage - JSONObject

    是否可以编辑存储在 Web 本地存储上的 JSON 对象 目前我有一个字符串化的 JSON 对象 fname Jerry lname Lewis email email protected password 使用该功能 localStora
  • 将 pdf 页面添加到现有 pdf Objective-c

    我正在为 iphone ipad 编写一个应用程序 将相机图像 png 转换为 pdf 并保存到 user documents 文件夹 现在我试图弄清楚如何将另一个 pdf 附加到现有文档中 这样它们就会变成多页 基本上 如果您将 doc1
  • TJSON.JsonToObject 不通过 setter

    将 Json 字符串转换为我自己的对象时遇到一些问题 我举一些例子 我的课 TClasse class private Fid integer Fnome string procedure Setid const Value integer