简体   繁体   English

How to convert CSV to JSON with value in double quotes using com.fasterxml.jackson.dataformat.csv.CsvMapper in Java?

[英]How to convert CSV to JSON with value in double quotes using com.fasterxml.jackson.dataformat.csv.CsvMapper in Java?

Suppose CSV data is like below:假设 CSV 数据如下:

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

Expected JSON:预期 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

Actual result getting using below logic:使用以下逻辑得到的实际结果:

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

I'm mapping this CSV data to JSON using below logic:我正在使用以下逻辑将此 CSV 数据映射到 JSON:

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

Any suggestion/help is really appreciated.非常感谢任何建议/帮助。

Thanks.谢谢。

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

It will turn of quoting and escaping.它将转向引用和 escaping。

Strongly suggest you not to do it强烈建议你不要这样做

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM