【发布时间】:2021-12-27 16:56:19
【问题描述】:
我在我的 asp.net Web API 项目中使用 JSON/CSV 文件,并尝试使用 CSVHelper 和 ServiceStack.Text 库,但无法正常工作。
包含数组的 JSON 文件是动态的,可以有任意数量的字段
我使用 streamreader 读取文件,然后需要将其转换为 CSV 文件以供最终用户下载。
示例文件文本
[{"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"},
{"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"}]
JSON 到 CSV
public static string jsonStringToCSV(string content)
{
var jsonContent = (JArray)JsonConvert.DeserializeObject(content);
var csv = ServiceStack.Text.CsvSerializer.SerializeToCsv(jsonContent);
return csv;
}
这不会产生 CSV 数据
然后一些文件是带有逗号或制表符的分隔符类型,我想利用CSVHelper 将 CSV 字符串动态转换为 IEnumerable
public static IEnumerable StringToList(string data, string delimiter, bool HasHeader)
{
using (var csv = new CsvReader(new StringReader(data)))
{
csv.Configuration.SkipEmptyRecords = true;
csv.Configuration.HasHeaderRecord = HasHeader;
csv.Configuration.Delimiter = delimiter;
var records = csv.GetRecords();
return records;
}
}
【问题讨论】:
-
您能否向我们提供给出的错误或输出
-
@Eminem 请看excel截图。
-
我要求它提供的输出。不是你期望它给的
-
是的,相同,屏幕截图与我预期的不同。
-
我的坏。我认为这些是实际值