gpt4 book ai didi

java - Jsefa-使用动态列数反序列化 CSV

转载 作者:行者123 更新时间:2023-12-02 12:28:01 25 4
gpt4 key购买 nike

我的 CSV 具有动态的列数,例如:

001, a ,b
002, a, b, c
003, a

我想使用 Jsefa (或任何其他建议)将其反序列化为以下形式的类:

@CsvDataType
public class MyCsv{
@CsvField(pos=0)
private String id
//??
private List<String> data
}

Jsefa支持吗?

最佳答案

由于 Google 中的搜索词组“jsefa csv 动态列数”返回此问题作为热门搜索,因此答案很可能是“否”。

我怀疑这不能正确满足您的要求,而且它非常丑陋,但鉴于默认情况下这些字段是可选的,您可以执行以下操作:

@CsvDataType
public class MyCsv {
@CsvField(pos=0)
private String id
@CsvField(pos=1)
private String data1
@CsvField(pos=2)
private String data2
@CsvField(pos=3)
private String data3
@CsvField(pos=4)
private String data4
@CsvField(pos=5)
private String data5
...
@CsvField(pos=N)
private String dataN
}

并且 CSV 中没有值的字段将仅为 null

为了获得更清晰的解决方案,我怀疑您需要实现自己的 CsvLowLevelDeserializer,它可能会执行与 CsvLowLevelDeserializerImpl 相同的大部分操作,但对于最后一个字段,它可以超越分隔符来获取多个值。

最后,CSV 是一种非常简单的格式,可以根据您的需要编写自己的解析器,这很可能是最简单的选择。

关于java - Jsefa-使用动态列数反序列化 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45413079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com