2017-02-15 4 views
0

У меня есть объект, который я хотел бы сопоставить с строкой JSON с сопоставлением объектов DMVC-Framework с Delphi Berlin Starter Edition.Delphi DMVC Сопоставление объекта с TList <string> в JSONObjectString

TListThing = class 
    private 
    FList : TList<string>; 
    public 
    property List : TList<String> read FList write FList; 

    constructor Create; 
    destructor Destroy; 
    end; 

Но когда я называю Mapper.ObjectToJSONObjectString(ListThing) я получаю недопустимое приведение типа, когда Mapper попадает свойство List. Установка атрибута [MapperListOf(string)] Сбой списка проприет. У кого-нибудь есть решение для этого или это даже случай для отчета об ошибке для проекта?

ответ

0

Насколько я понимаю, эта версия фреймворка картографа, который не поддерживает заполнение НИ TList ни TStringList. Он отлично работает, хотя с TObjectList, где AClass - всего лишь оболочка для ваших строк.

См описание здесь: https://danieleteti.gitbooks.io/delphimvcframework/content/chapterrenders.html

[MapperListOf(TNested)] 
    property NestedList: TObjectList<TNested> read FNestedList write SetNestedList; 

Для сериализации и десериализации вложенных объектов и списков объектов должны быть созданы. Но он может быть освобожден во время выполнения, поскольку мы можем видеть далее .

+0

Вы были прав насчет сериализации TList . На стороне: 'Mapper.JSONObjectStringToObject' фактически заполняет TList должным образом. – NCRT

Смежные вопросы