Кажется, что модуль json в Python не понимает .1
как 0.1
. Если вы добавите 0
перед периодом, он будет работать.
После того как Вы считали материал в сети, необходимо, вероятно, изучить код других программистов, чтобы видеть, как (и почему) они использовали интерфейсы в реальном коде.
Например, в репозитории Подверсии сайта dUnit SourceForge Вы найдете файл XPObserver.pas, который реализует шаблон The Observer для Delphi, с помощью интерфейсов. Этот код очень интересен, как обычно в этом шаблоне наблюдаемые объекты каждый сохраняет список наблюдателей и наблюдателей, которых каждый сохраняет ссылкой на объект (объекты), который они наблюдают. Наивное использование реализации интерфейсы создали бы циклические ссылки, интерфейсы, проведет их подсчет ссылок от достижения 0, и это привело бы к утечкам памяти. Код в XPObserver.pas показывает, как можно использовать преобразование типа для решения этой проблемы.
IMO большинство файлов XP*.pas стоят более внимательного рассмотрения. Например, XPInterfacedObject.pas содержит объяснение, почему агрегированные интерфейсы должны все использовать счетчик общей ссылки и представляют альтернативное решение TAggregatedObject и TContainedObject, как реализовано в VCL.
Начиная с использования COM взаимодействует через интерфейс, этот онлайн-курс является также введением в интерфейсы.