У меня есть следующий CSV-файл с полем JSON, которое может содержать разделитель:
2.0.0|2018-11-04 10:10:14,471|eventname|{"fieldA":"value with separator | inside","fieldB":"54321"}|123456|empty
Я пытался использовать следующий код, чтобы получить все поле, но он всегда разделяется внутренним разделителем:
String csvLine = "2.0.0|2018-11-04 10:10:14,471|eventname|{\"fieldA\":\"value with separator | inside\",\"fieldB\":\"54321\"}|123456|empty";
CsvParserSettings settings = new CsvParserSettings();
settings.getFormat().setDelimiter("|");
settings.getFormat().setQuote('"');
settings.getFormat().setQuoteEscape('\\');
CsvParser parser = new CsvParser(settings);
String[] row = parser.parseLine(csvLine);
System.out.println(row[3]);
Ожидаемый вывод:
{"fieldA":"value with separator | inside","fieldB":"54321"}
Текущий вывод:
{"fieldA":"value with separator
Как сказать синтаксическому анализатору CSV не разбивать, когда файл находится между кавычками