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