Cadeia de caracteres JSON para CSV e conversão de CSV para JSON em c #

Estou trabalhando com arquivos JSON / CSV no meu projeto de API da web asp.net e tentei comCSVHelper eServiceStack.Text bibliotecas, mas não conseguiu fazê-lo funcionar.

O arquivo JSON que contém uma matriz é dinâmico e pode ter qualquer número de campos

Li o arquivo usando o streamreader e, em seguida, preciso convertê-lo em arquivo CSV para fazer o download para os usuários finais.

texto de arquivo de exemplo

[{"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"},
 {"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"}]

JSON para CSV

public static string jsonStringToCSV(string content)
{
    var jsonContent = (JArray)JsonConvert.DeserializeObject(content);

    var csv = ServiceStack.Text.CsvSerializer.SerializeToCsv(jsonContent);
    return csv;
}

Isso não me resulta em dados CSV

Então alguns arquivos são do tipo delimitador com vírgula ou tab e eu quero utilizarCSVHelper converter string CSV para IEnumerable dinamicamente

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;
     }
}

questionAnswers(3)

yourAnswerToTheQuestion