JSON-String in CSV und CSV in JSON-Konvertierung in c #
Ich arbeite mit JSON / CSV-Dateien in meinem asp.net-Web-API-Projekt und habe es mit @ versuch CSVHelper und ServiceStack.Text Bibliotheken konnten es aber nicht zum Laufen bringen.
Die JSON-Datei, die ein Array enthält, ist dynamisch und kann beliebig viele Felder enthalten.
Ich habe die Datei mit Streamreader gelesen und muss sie anschließend in eine CSV-Datei konvertieren, damit sie für Endbenutzer heruntergeladen werden kann.
example file text
[{"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"},
{"COLUMN1":"a","COLUMN2":"b","COLUMN3":"c","COLUMN4":"d","COLUMN5":"e"}]
JSON zu CSV
public static string jsonStringToCSV(string content)
{
var jsonContent = (JArray)JsonConvert.DeserializeObject(content);
var csv = ServiceStack.Text.CsvSerializer.SerializeToCsv(jsonContent);
return csv;
}
Dies führt nicht zu mir CSV-Daten
Dann sind einige Dateien vom Typ Trennzeichen mit Komma oder Tabulator und ich möchte @ verwend CSVHelper CSV-Zeichenfolge dynamisch in IEnumerable konvertieren
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;
}
}