我正在尝试使用 mORMot 框架将 TObject 序列化为 JSON。不幸的是,结果始终为空。
我要序列化的类是:
type ApmTime = class(TObject)
private
function currentTime() : String;
published
property Current_time: String read currentTime;
public
constructor Create;
end;
constructor ApmTime.Create;
begin
inherited;
end;
function ApmTime.currentTime() : String;
begin
result := TimeToStr(Now);
end;
SynCommons中定义了对应的mORMot方法:
currentTime := ApmTime.Create;
Write(ObjectToJSON(currentTime, [woFullExpand]));
这总是返回 null。在单步执行后TTextWriter.WriteObject
(位于 unit 中SynCommons
),以下代码似乎是将生成的 json 设置为 null 的位置:
if not(woFullExpand in Options) or
not(Value.InheritsFrom(TList)
{$ifndef LVCL} or Value.InheritsFrom(TCollection){$endif}) then
Value := nil;
if Value=nil then begin
AddShort('null');
exit;
我期待着这样的事情:
{
"Current_time" : "15:04"
}