Я использую библиотеку библиотеки com.fasterxml.jackson для JsonSchema, Я создаю создание объекта IntegerSchema, когда я установил диапазон для целочисленнога схемы с использованием коды ниже:набора Джексон ObjectMapper класс не использовать научные обозначения для двойного
main(){
IntegerSchema intSchema = new IntegerSchema();
// setMaximum accepts Double object
intSchema.setMaximum(new Double(102000000));
// setMaximum accepts Double object
intSchema.setMinimum(new Double(100));
printJsonSchema(intSchema);
}
public void printJsonSchema(JsonSchema schema){
ObjectMapper mapper = new ObjectMapper();
try {
logger.info(mapper.writeValueAsString(schema));
} catch (JsonProcessingException e) {
throw new IllegalStateException(e);
}
}
Когда я конвертировать IntegerSchema в строку, используя ObjectMapper получения ниже ответ:
{"type":"integer","maximum":1.02E8,"minimum":100.0}
максимальные и минимальные значения становятся преобразованы в научной нотации.
Но мне нужно вывод в научной нотации, не ниже:
{"type":"integer","maximum":102000000,"minimum":100}
Я не могу изменить класс IntegerSchema.
Просьба предложить, как получить требуемый результат без расширения класса IntegerSchema?
Заранее спасибо
Вы также можете зарегистрировать модуль для применения сериализатора ко всем удвоениям по всей системе. См. Http://stackoverflow.com/a/25945058/14731 для объяснения того, как это делается. – Gili