首页 > 解决方案 > 如何在 Java 中使用 com.fasterxml.jackson.dataformat.csv.CsvMapper 将 CSV 转换为带有双引号的 JSON?

问题描述

假设 CSV 数据如下所示:

站点名称、位置、重复类型、时区 TestSite_QA2_0401,QA_LocationAZ_0401,"FREQ=WEEKLY;BYDAY=MO,WE",Europe/Paris

预期的 JSON:

SiteName=TestSite_QA2_0401, Location=QA_LocationAZ_0401, Recurrence Type="FREQ=WEEKLY;BYDAY=MO,WE", Time Zone=Europe/Paris

使用以下逻辑得到的实际结果:

SiteName=TestSite_QA2_0401, Location=QA_LocationAZ_0401, Recurrence Type=FREQ=WEEKLY;BYDAY=MO,WE, Time Zone=Europe/Paris

我正在使用以下逻辑将此 CSV 数据映射到 JSON:

CsvSchema 引导 = CsvSchema.emptySchema().withHeader(); CsvMapper csvMapper = new CsvMapper(); return csvMapper.readerFor(Map.class).with(bootstrap).readValues(input).readAll();

非常感谢任何建议/帮助。

谢谢。

标签: javajacksonfasterxmldataformat

解决方案


您可以添加.withQuoteChar((char) 0).withEscapeChar((char) 0).

它将转向引用和转义。

强烈建议你不要这样做


推荐阅读