jsonschema2pojo повторяющиеся классы (не повторяющиеся имена классов)

Jsonschema2pojo ведет себя правильно. Однако я хотел бы изменить его поведение. После запуска Jsonschema2pojo я получаю свои классы верхнего уровня (14 из них) и 14 классов-членов. Классы-члены выглядят как «WatchSpecs.java», «WatchSpecs_.java», «WatchSpecs__.java», «WatchSpecs___.java», «WatchSpecs____.java» и т. д. Таким образом, я получаю 14 классов, которые абсолютно одинаковы, но имеют разные названия.

Есть ли способ изменить это?

Спасибо

p.s. Я НЕ использую ant или maven. Использование Eclipse и включение банок.

// Versions
jsonschema2pojo-core-0.4.27
codemodel-2.4.1
jackson-annotations-2.6.3
jackson-core-2.6.3
jackson-databind-2.6.3
commons-lang-2.5
commons-lang3-3.4

person GOOGGOOG    schedule 14.11.2016    source источник


Ответы (1)


Если у вас есть вложенные классы, вы можете немного изменить ObjectRule.java и RuleFactory.java. Я создал хэш имени класса, узел JSON и пакет, используя алгоритм MD5, и сохранил его на карте. Перед созданием любого нового класса я просто проверяю, существует ли его хеш в hashMap, и в этом случае я просто возвращаю класс, соответствующий этому хешу.

Check my commit here : mdfaizanali786/jsonschema2pojo@e5343db#diff-7fef584364765f2bd47a596ad18cecc4

Если у вас есть повторяющиеся классы верхнего уровня, вы можете получить схему, jsonify ее, а затем снова проверить, что она не идентична.

person some random guy    schedule 20.10.2017