kponot Опубликовано 9 сентября, 2020 Поделиться Опубликовано 9 сентября, 2020 Добрый день, уважаемые. Есть TObjectList который содержит объекты унаследованные от одного класса. Сериализация проходит нормально, а вот обратно получить объект не получается. TAddressBase = class(TObject) private FCountry: String; FCity: String; public property Country: String read FCountry write FCountry; property City: String read FCity write FCity; end; TAddress1 = class(TAddressBase) private FStreet: String; public property Street: String read FStreet write FStreet; end; TAddress2 = class(TAddressBase) private FCode: String; public property Code: String read FCode write FCode; end; TAddrList = TObjectList<TAddressBase>; {"Address":[{"Street":"Street","Country":"country1","City":"city1"}, {"Code":"code","Country":"country2","City":"city2"}]} Если делать через FromJSON(AJson), то он создает, естественно, TAddressBase. Может кто работал с XSuperObject и сможет помочь с этим? Цитата Ссылка на комментарий
Вопрос
kponot
Добрый день, уважаемые.
Есть TObjectList который содержит объекты унаследованные от одного класса. Сериализация проходит нормально, а вот обратно получить объект не получается.
TAddressBase = class(TObject)
private
FCountry: String;
FCity: String;
public
property Country: String read FCountry write FCountry;
property City: String read FCity write FCity;
end;
TAddress1 = class(TAddressBase)
private
FStreet: String;
public
property Street: String read FStreet write FStreet;
end;
TAddress2 = class(TAddressBase)
private
FCode: String;
public
property Code: String read FCode write FCode;
end;
TAddrList = TObjectList<TAddressBase>;
{"Address":[{"Street":"Street","Country":"country1","City":"city1"},
{"Code":"code","Country":"country2","City":"city2"}]}
Если делать через FromJSON(AJson), то он создает, естественно, TAddressBase. Может кто работал с XSuperObject и сможет помочь с этим?
Ссылка на комментарий
0 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.