SuperObjectのヘルプを使用してJSONとしてエンコードしようとするTObjectList<>フィールドを持つオブジェクトがあります。
TLogs = TObjectList<TLog>;
TMyObject = class(TObject)
private
FLogs: TLogs;
end;
SuperObjectsコードの奥深くに、ToClassプロシージャがあり、フィールドを繰り返してjsonの結果に追加します。
このループでは、TRttiFieldsFieldTypeがチェックされます。nilの場合、オブジェクトをスキップします。
for f in Context.GetType(Value.AsObject.ClassType).GetFields do
if f.FieldType <> nil then
begin
v := f.GetValue(value.AsObject);
result.AsObject[GetFieldName(f)] := ToJson(v, index);
end
私のジェネリックリストフィールドのFieldTypeはnilです。なんで?
SuperObjectにオブジェクトのリストをシリアル化するにはどうすればよいですか?