我是Java Spring引导的新手,我正尝试从CSV文件读取数据,然后通过REST将这些数据传递给我的UI。
我正在使用OpenCSV
来解析我的文件。这是我文件中的示例行
名,姓,卡详细信息。
卡的详细信息由卡号和有效期组成。所以我的示例文本如下:
joe, keller, 123456 22-2-1999.
我的休息点的输出应该是:
{
"firstname": "joe",
"lastname" : "keller",
"card number" : "123456",
"expiry date" : 22-2-1999
}
我目前使用CsvToBeanBuilder
读取文件,而且似乎难以将最后一行映射到两个不同的项目。
答案 0 :(得分:1)
由于最后一列包含2个字段-卡号和有效期,因此您无法直接使用CsvToBeanBuilder
来读取CSV文件并将其转换为POJO 。一种替代方法如下所示:
首先,我假设您已经有一个POJO了:
class CreditCardInfo {
private String firstname;
private String lastname;
private String cardNumber;
private String expiryDate;
//general getters and setters
//toString()
}
然后,您可以使用CSVReader.readNext()
将每一行读入字符串数组。对于CSV文件的第3列,您可以将其分成两个字段,并用空白(“”):使用String.trim()
的“ 123456”和“ 22-2-1999”可以忽略前导空格。因此,您可以将这些字段分别存储到POJO cardNumber
的{{1}}和expiryDate
。
代码段
CreditCardInfo
控制台输出
CreditCardInfo [firstname = joe,lastname = keller,cardNumber = 123456,expiryDate = 22-2-1999]