Как лучше всего обмениваться данными JSON со строгой схемой? - PullRequest
0 голосов
/ 04 декабря 2018

В настоящее время у меня возникла проблема, касающаяся передовых методов, когда я, по сути, пытаюсь выяснить лучший способ обмена настройками экземпляров на произвольную функцию.

В настоящее время я использую функцию настройки, отвечающую за созданиенесколько объектов Camera (подробности этой функции не имеют большого значения).

def setup(self, cameras: dict):
    ...

Этот конкретный словарь принимает форму ...

{
     "hwid_1": {
       "type": integer,
       "fov": integer,
       ...
     },
     "hwid_2": {
       "type": integer
       ...
     },
     "hwid_3": {
       ...
     }
 }

Где каждый hwidсоответствует отдельной физической камере и setup отвечает за создание нового Camera для каждого соответствующего идентификатора.


В настоящее время setup() также отвечает за проверку схемы входного словаря с использованиемСхема JSON и работает точно так же, как и ожидалось.

Проблема, с которой я сталкиваюсь при таком подходе, заключается в том, что введенный уровень абстракции мешает другим разработчикам узнать формат аргумента cameras без предварительной консультации с соответствующими специалистами.схема.

Есть ли другие приложения?тараканы, которые я могу взять, чтобы помочь сделать схему входного словаря более явной, или это неотъемлемое ограничение попытки создания массива объектов с различными атрибутами?

...