You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将RedCAP API返回的JSON对象转换为CSV文件

将RedCAP API返回的JSON对象转换为CSV文件(使用CsvHelper)

前提准备

确保代码中已引用以下命名空间:

using CsvHelper;
using System.IO;
using System.Globalization;

基础转换代码

假设result是RedCAP API返回的已反序列化对象集合(通常为IEnumerable<dynamic>或强类型实体列表),直接使用CsvHelper的WriteRecords方法即可完成转换:

// 空值检查,避免空引用异常
if (result == null || !result.Any())
{
    Console.WriteLine("无可用记录可导出");
    return;
}

// 写入CSV文件
using (var streamWriter = new StreamWriter("redcap_records.csv"))
using (var csvWriter = new CsvWriter(streamWriter, CultureInfo.InvariantCulture))
{
    csvWriter.WriteRecords(result);
}

自定义CSV格式(可选)

如果需要调整分隔符、引号规则等格式,可通过CsvConfiguration配置:

var csvConfig = new CsvConfiguration(CultureInfo.InvariantCulture)
{
    Delimiter = ";", // 改为分号分隔
    QuoteAllFields = true, // 所有字段用引号包裹
    TrimOptions = TrimOptions.Trim // 去除字段前后空格
};

using (var streamWriter = new StreamWriter("redcap_records_custom.csv"))
using (var csvWriter = new CsvWriter(streamWriter, csvConfig))
{
    csvWriter.WriteRecords(result);
}

注意事项

  • 若result是未反序列化的JSON字符串,需先通过RedCapAPI内置工具或序列化库(如Newtonsoft.Json)转换为对象集合,再传入WriteRecords。
  • 确保目标文件路径具备写入权限,避免IO异常。
  • 若使用强类型实体类,属性名称需与RedCAP表单字段名匹配;不匹配时可通过[Name]特性映射:
    public class RedcapRecord
    {
        [Name("record_id")]
        public int RecordId { get; set; }
        
        [Name("patient_name")]
        public string PatientName { get; set; }
    }
    

内容的提问来源于stack exchange,提问作者Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:40:33