Я нашел несогласованность в методе writeNumber() в библиотеке процессоров Jackson JSON. При вызове writeNumber (String) в «NaN» с включенным QUOTE_NON_NUMERIC_NUMBERS не возвращается строка с кавычками. Это показано в следующем примере:Джексон: цитирование нечетных чисел несоответствие
float nan = Float.NaN;
try {
JsonGenerator jg = new JsonFactory().createGenerator(System.out);
jg.enable(JsonGenerator.Feature.QUOTE_NON_NUMERIC_NUMBERS);
// writeNumber(String s)
jg.writeNumber(""+nan);
// writeNumber(float f)
jg.writeNumber(nan);
jg.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
фактический выход:
NaN "NaN"
ожидается выход:
"NaN" "NaN"
Является ли это ожидаемое поведение или ошибка?