Джексон читает входные числа как строки. В качестве примера ниже студенческий класс читает имя 4567 как строку.
пример: ввод
{
name: 4567
...
}
Java-класс
Class Student {
String name;
...
}
Джексон анализирует текст JSON и сопоставляет числовое значение со строковым полем, и я не хочу, чтобы преобразование типа, т.е. чтобы число было преобразовано в строку. В этом сценарии Джексон преобразует значение из int (4567) в String("4567"). Как это поведение может измениться, чтобы генерировать исключение, если другой тип не работает?
Student
—String
, вы можете изменить его наint
. - person LunaticJape   schedule 28.03.2019name
былоString
, и хочет убедиться, что при анализе/десериализации JSON значение представляет собой строку JSON, например."4567"
, а не номер JSON, например.4567
. Джексон преобразует значение изint
вString
, что является хорошей полезной библиотекой, но OP хочет, чтобы она не работала. --- если он хочет десерлировать контент, у него не возникнет никаких проблем проблема в том, что он не терпит неудачу. OP хочет провалить его. ОП хочет, чтобы это было проблемой. - person Andreas   schedule 28.03.2019name
). Вы должны жить в маленьком мире, если не можете себе представить, что совместное использование данных может пойти не так, и что вы хотите/нуждается строгий синтаксический анализ для предотвращения случайного неправильного толкования данных. JSON — это не только формат хранения, в котором вы читаете/записываете свои собственные данные, это также формат обмена для обмена данными между разрозненными системами (например, веб-службой REST). - person Andreas   schedule 28.03.2019