Conversión de cadena JSON a CSV y CSV a JSON en c #

Estoy trabajando con archivos JSON / CSV en mi proyecto de API web asp.net y probé conCSVHelper yServiceStack.Text bibliotecas pero no pudo hacer que funcione.

El archivo JSON que contiene una matriz es dinámico y puede tener cualquier número de campos.

Leí el archivo usando streamreader y luego necesito convertirlo en un archivo CSV para que sea descargable para los usuarios finales.

texto de archivo de ejemplo

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

JSON a CSV

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

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

Esto no me da datos CSV

Luego, algunos archivos son delimitadores con coma o tabulación y quiero utilizarCSVHelper convertir cadenas CSV a IEnumerable dinámicamente

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

Respuestas a la pregunta(3)

Su respuesta a la pregunta