c# - CsvHelper - GetRecords 没有返回任何内容
问题描述
GetRecords 不返回任何内容。你能帮我弄清楚我错过了什么吗?
var csvContent = parseApiResponse["staffTeamCsv"].ToString();
TextReader sr = new StringReader(csvContent);
var csvConfiguration = new CsvConfiguration(CultureInfo.InvariantCulture)
{
Delimiter = "|"
};
var csv = new CsvReader(sr, csvConfiguration);
var records = csv.GetRecords<StaffTeam>().ToList();
var converted = JsonConvert.SerializeObject(records);
var convertedContent = JArray.Parse(converted);`
解决方案
查看随附的屏幕截图(请在此处也以文本形式发布其中的内容),您的“csvContent”变量内容如下所示:
"Id|Name|1|nam|2|name"
这不是 CSV 文件的正确格式表示。
假设您的列标题是Id
and Name
,其余的是数据,它们应该用回车分隔。所以你的字符串应该是这样的:
var csvContent = "Id|Name\n1|nam\n2|name";
你的StaffTeam
班级也应该是这样的:
public class StaffTeam
{
public int Id { get; set; } // Could also be string
public string Name { get; set; }
}
本质上,你的代码很好,你的数据不是。
推荐阅读
- javascript - Gulp Dest() 不输出文件
- node.js - Mongoose - 对指定文档执行更新时调用函数
- c# - 自定义控件中的选取器
- java - 为什么 netty 会抛出 UnknownHostException,即使它收到了来自名称服务器的响应?
- git - 我们如何引用提交的子节点?
- sql - Postgres SQL 字符串在哪里匹配
- excel - 如果某列范围内的所有单元格均为空白,则删除 Excel 中的一行
- javascript - .env 文件中的 API 密钥 401 错误
- azure - Azure ARM 模板依赖于复制循环中的资源
- .net - 用于与 SOAP 服务交互的 .NET Core 或 .NET Framework?