【问题标题】:Delphi, TSuperObject > from JSON to ObjectDelphi, TSuperObject > 从 JSON 到 Object
【发布时间】:2021-08-26 05:17:49
【问题描述】:

我在 Delphi XE4,TSuperObject:

TAspTransactionBasicData = Class(TObject)
  Currency          : Byte;                     
  Amount            : Currency;
  constructor         Create(aCurrency: Byte; aAmount: Currency);
end;

TStartWorkflowWithBasicData  = Class(TObject)
  AdditionalData    : TAspTransactionBasicData;  // here it is as an Object
  TypeOfWorkflow    : Byte;
  constructor         Create(aAdditionalData: TAspTransactionBasicData; aTypeOfWorkflow: Byte);
  function            toJSon(TObject:TStartWorkflowWithBasicData):String;
end;

ToJSon 函数将对象放入 JSON:

function TStartWorkflowWithBasicData.toJSon(TObject:TStartWorkflowWithBasicData):String;
Var
  JSon:     ISuperObject;
  RttiCont: TSuperRttiContext;
begin
  Result   := '';
  RttiCont := TSuperRttiContext.Create;
  JSon     := RttiCont.AsJson<TStartWorkflowWithBasicData>(TObject); // Insert the object into JSON
  Result   := JSon.AsJSon(False);
  RttiCont.Free;
end;

我还需要一个完全相反的函数 fromJSon,它将 JSON(插入对象的位置)读回对象,但我正在摸索......

你能告诉我吗?

【问题讨论】:

    标签: json delphi superobject


    【解决方案1】:

    我无法为您提供 SuperObject,但 kbmMW 包含一个非常完整的 XML、JSON、YAML、BSON、MessagePack + CSV,并且在下一个版本中还包含 TXT(固定格式)序列化器/解串器和对象编组器/解组器。

    它可以很容易地转换两种方式,甚至在格式之间。

    kbmMW Community Edition 包含所有内容(新的 TXT 格式除外),并且是免费的,即使用于商业用途(受许可证限制)。

    https://components4developers.blog/2019/03/11/rest-easy-with-kbmmw-24-xml_json_yaml_to_object_conversion/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 2012-06-19
      相关资源
      最近更新 更多