jsonschema2pojo повторяющиеся классы (не повторяющиеся имена классов)
Jsonschema2pojo ведет себя правильно. Однако я хотел бы изменить его поведение. После запуска Jsonschema2pojo у меня заканчиваются классы высшего уровня (14 из них) и 14 классов участников. Классы-члены выглядят как "WatchSpecs.java", "WatchSpecs_.java", "WatchSpecs__.java", "WatchSpecs___.java", "WatchSpecs____.java" и т. Д. Поэтому я в итоге получаю 14 классов, которые точно такие же, но есть разные имена.
Есть ли способ изменить это?
Спасибо
PS Я НЕ использую муравья или мавена. Использование 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
1 ответ
Если у вас есть вложенные классы, вы можете немного изменить ObjectRule.java и RuleFactory.java. Я создал хэш имени класса, узла JSON и пакета, используя алгоритм MD5, и сохранил его на карте. Перед созданием любого нового класса я просто проверяю, существует ли его хэш в hashMap, и в этом случае я просто возвращаю класс, соответствующий этому хешу.
Check my commit here : mdfaizanali786/jsonschema2pojo@e5343db#diff-7fef584364765f2bd47a596ad18cecc4
Если у вас есть дублирующие классы верхнего уровня, вы можете получить схему, jsonify, а затем снова проверить, что она не идентична.