问题标签 [jackson-dataformat-csv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1205 浏览

java - 将对象编组为 CSV

我正在尝试将 an 编组Object为 csv String。我创建了一个可以将任何对象转换为 csv 的方法,String但我不断收到异常:

元帅法

主要方法

是什么导致了这个异常?

编辑这是我所有的进口:

0 投票
2 回答
12068 浏览

java - 如何正确序列化和反序列化 CSV?

我一直在尝试将对象序列化为 CSV String,但该对象包含 aList并且@JsonUnwrapped不适用于List对象。

预期样本输出

实际输出

这是我的代码:(大部分是 2 个 POJO)

我尝试的任何方法似乎都不起作用,我已经阅读了有关该主题的 stackoverflow 和 github 上的每篇文章,但我找不到有效的解决方案。

抱歉,我无缘无故留下了任何毫无意义的注释,如果您用代码回答,请随时删除它们。

0 投票
0 回答
1383 浏览

java - 为带有列表的 POJO 导出到 csv

我有一个 POJO,里面有一个 List。我正在尝试将 POJO 导出为 CSV 数据。使用 jackson-dataformat-csv 2.6.3 库来做到这一点。但未能将列表值写入其中。有没有办法做到这一点。

// 导出或写入输出流的代码

0 投票
1 回答
4215 浏览

java - 如何在 Jackson-dataformat-csv 库中转义分隔符?

我的用例是将 Java POJO 转换为字符串,以便可以将其传递以发布到 AWS Kinesis Firehose Stream。

我正在写这个convertToString(),但我无法找到逃避分隔符的正确方法。

输入:SuperHero flash = new SuperHero(1, "Flash", "Barry , Allen", "DC");

预期输出:1,Flash,“Barry \,Allen”,DC

我得到的输出:1,Flash,“Barry,Allen”,DC

有人可以指出我做错了什么吗?

0 投票
3 回答
11428 浏览

java - 将通用 POJO 写入 CSV 转换器

我的用例是编写一个通用的 CSV 转换器,它应该能够将任何 Java POJO 转换为 CSV 字符串。

我的实施:

我正在使用 Jackson-dataformat-csv 库,但我坚持使用!HOW_TO!部分,即如何从objectList中提取对象的.class。我正在学习并遇到类型擦除,所以我认为除了将 .class 作为我的函数的参数之外,这是不可能的。但我也使用 Java 反射从通用实体中提取此对象列表,因此我无法选择提供 .class 参数。

有解决方法吗?

或者

List<T> objectList to List<String> csvList我可以转换具有添加分隔符、引号字符、行分隔符等功能的泛型的任何其他方法/库。

谢谢!

0 投票
1 回答
1089 浏览

jackson-dataformat-csv - Jackson CsvMapper 可以将标头名称中带有空格的 CSV 解析为对象吗?

我正在尝试将标题行中带有空格的 CSV 文件直接导入使用CsvMapper.schemaFor(Class<>). 自然,各个成员在标识符中不能有空格。有没有办法告诉映射器在哪个成员上映射哪些列?

0 投票
3 回答
9677 浏览

csv - jackson-dataformat-csv 不会忽略未知属性

尝试使用 jackson-dataformat-csv 解析 .csv 文件。文件包含很多与我的程序无关的列。

试图@JsonIgnoreProperties(ignoreUnknown = true)在我的数据类和 上使用csvMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES),但都不起作用,并且应用程序抛出异常:

是否有任何解决方案可以忽略 csv 中不需要的列?

0 投票
1 回答
744 浏览

java - NoSuchMethodError 使用 jackson-dataformat-csv

我正在使用 jackson-dataformat-csv 来读取 csv 文件,并且在尝试使用该行解析 mappingIterator 时出现 NoSuchMethodError

这个剪断(稍微修改,删除前处理)

https://github.com/FasterXML/jackson-dataformat-csv/issues/49
我的问题非常接近这个问题,除了我已经尝试过确保jackson-core、jackson-databind、jackson-dataformat的解决方案-csv 和 jackson-annotations 都是相同的版本(2.8)。看起来现在有一个 2.9 改变了事情,但在我的公司,我无法访问 2.9。还有其他一些我可能会发生冲突的包吗?

错误:

0 投票
1 回答
870 浏览

csv - Jackson CSV 解析器 | 处理无效值

我正在尝试解析从上游提供的 CSV 文件。

CSV 文件包含一些预先确定格式的日期和数字字段。很少有字段中的值与预期不符的情况,我们希望将这些值读取为 null 但 Jackson-CSV 解析器抛出异常。

以下是我的例外

在 com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:67) 在 com.fasterxml.jackson.databind.DeserializationContext.weirdStringException(DeserializationContext.java:1535) 在 com.fasterxml.jackson.databind.DeserializationContext .handleWeirdStringValue(DeserializationContext.java:910) 在 com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate(StdDeserializer.java:523) 在 com.fasterxml.jackson.databind.deser.std.StdDeserializer._parseDate(StdDeserializer .java:466) 在 com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateBasedDeserializer._parseDate(DateDeserializers.java:195) 在 com.fasterxml.jackson.databind.deser.std.DateDeserializers$DateDeserializer.deserialize(DateDeserializers .java:285)在 com.fasterxml.jackson.databind.deser.std。DateDeserializers$DateDeserializer.deserialize(DateDeserializers.java:268) at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:127) at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize( BeanDeserializer.java:287) 在 com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151) 在 com.fasterxml.jackson.databind.MappingIterator.nextValue(MappingIterator.java:277)jackson.databind.MappingIterator.nextValue(MappingIterator.java:277)jackson.databind.MappingIterator.nextValue(MappingIterator.java:277)

我也在 Jackson CSVGithub 页面上报告了同样的情况。 https://github.com/FasterXML/jackson-dataformat-csv/issues/153

0 投票
1 回答
3496 浏览

csv - 如何使用 Jackson csv 映射器读取 tsv 文件?

我正在使用 Jackson CSV 库来读取 CSV 文件。

我们从文档中获得了流式传输示例:

这适用于 CSV 文件。但是,我看不到如何将其配置为使用制表符而不是逗号作为字段分隔符,以便读取 TSV 文件。我能为列分隔符找到的唯一配置与 CsvSchema 类有关,但没有架构,因为我们不知道文件中有多少列。