Я пытаюсь преобразовать данные CSV в объект Java с помощью CsvMapper. Вот схема CSV и формат данных во время отладки: [b]Метод анализа:[/b] [code]private List parseData(String csvData, Class modelClass) { try { CsvMapper csvMapper = CsvMapper.builder() .enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES) .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) .build();
CsvSchema schema = CsvSchema.emptySchema().withHeader(); return (List) csvMapper .readerFor(modelClass) .with(schema) .readValues(csvData) .readAll(); } catch (IOException e) { throw new RuntimeException("Failed to parse CSV data", e); } } [/code] [b]Схема CSV во время отладки:[/b] [code][CsvSchema: columns=[], header? true, skipFirst? false, comments? false, any-properties? N/A] [/code] [b]csvData во время отладки:[/b] [code]FON KODU,FON UNVANI,FON ISIN KODU,FON OPERATÖR KODU,PARA BİRİMİ,İŞLEM BAŞLANGIÇ SAATİ,… AAK,ATA PORTFÖY ÇOKLU VARLIK DEĞİŞKEN FON,TRMAF1WWWWW4,ATA,TL,09:00,17:30,… AAL,ATA PORTFÖY PARA PİYASASI (TL) FONU,TRMAALWWWWW5,ATA,TL,09:00,13:30,… [/code] [b]Класс модели Java:[/b] [code]@Getter @Setter @NoArgsConstructor @AllArgsConstructor public class TefasDataModel { @JsonProperty("FON KODU") private String fonKodu; @JsonProperty("FON UNVANI") private String fonUnvani; // Remaining fields match CSV headers. } [/code] [b]Несмотря на это, все поля выходных объектов имеют нулевые значения. Пример вывода:[/b] [code][ { "fonKodu": null, "fonUnvani": null, ... } ] [/code] [b]Что я пробовал:[/b] [list] [*]Удаление \r из данных CSV. [*]Определение CsvSchema вручную с именами столбцов, соответствующими заголовкам. [*]Преобразование csvData во входной поток. [/list] Что может быть причиной этой проблемы? Как я могу решить эту проблему, чтобы правильно сопоставить данные CSV с моделью?
Я пытаюсь преобразовать данные CSV в объект Java с помощью CsvMapper. Вот схема CSV и формат данных во время отладки:
Метод анализа:
private List parseData(String csvData, Class modelClass) {
try {
CsvMapper csvMapper = CsvMapper.builder()...
Я пытаюсь проанализировать данные String CSV в объект Java с помощью CsvMapper. Вот схема CSV и формат данных во время отладки:
Метод анализа:
@SuppressWarnings( unchecked )
private List parseDataWithCsvMapper(String csvData, Class modelClass) {...
Я пытаюсь проанализировать данные String CSV в объект Java с помощью CsvMapper. Вот схема CSV и формат данных во время отладки:
Метод анализа:
@SuppressWarnings( unchecked )
private List parseDataWithCsvMapper(String csvData, Class modelClass) {...
Я пытаюсь проанализировать данные String CSV в объект Java с помощью CsvMapper. Вот схема CSV и формат данных во время отладки:
Метод анализа:
@SuppressWarnings( unchecked )
private List parseDataWithCsvMapper(String csvData, Class modelClass) {...
Когда я сравниваю короткие значения, допускающие значение NULL, компилятор сначала преобразует их в целые числа, чтобы выполнить сравнение с NULL. Например, рассмотрим этот простой код: