Преобразование строки JSON в CSV и преобразование CSV в JSON в c #
Я работаю с файлами JSON / CSV в своем проекте веб-API asp.net и попробовал сCSVHelper а такжеServiceStack.Text библиотеки, но не могли заставить его работать.
Файл JSON, содержащий массив, является динамическим и может иметь любое количество полей
Я читаю файл с помощью потокового ридера, а затем мне нужно преобразовать его в файл 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;
}
}