2016-11-14 3 views
0

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

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

С благодарностью

p.s. Я НЕ использую муравьев или 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 

ответ

0

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

Check my commit here : mdfaizanali786/[email protected]#diff-7fef584364765f2bd47a596ad18cecc4 

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

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