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

C#中将JSON子类ATTRIBUTES转换为DataTable的方法

将ATTRIBUTES数据填充到DataTable的实现方案

一、简便实现方式

借助Newtonsoft.Json(Json.NET)的序列化/反序列化能力,可直接将提取出的ATTRIBUTES集合转换为DataTable,无需手动构建结构:

// 提取所有DATA项中的ATTRIBUTES对象集合
var attributesList = Values.data.Select(d => d.attributes).ToList();

// 一键转换为DataTable
DataTable datatable = JsonConvert.DeserializeObject<DataTable>(JsonConvert.SerializeObject(attributesList));

二、手动构建DataTable并填充数据

如果需要自定义列名、处理特殊数据类型或做额外逻辑控制,可手动完成DataTable的构建与数据填充:

1. 创建DataTable并定义列结构

DataTable datatable = new DataTable();
// 添加与ATTRIBUTES字段匹配的列(可自定义列名或类型)
datatable.Columns.Add("field_01", typeof(string));
datatable.Columns.Add("field_02", typeof(string));
datatable.Columns.Add("field_03", typeof(string));

2. 遍历数据并逐行填充

foreach (var dataItem in Values.data)
{
    if (dataItem.attributes != null)
    {
        DataRow row = datatable.NewRow();
        // 为每行赋值,用DBNull.Value处理null避免DataTable报错
        row["field_01"] = dataItem.attributes.field_01 ?? DBNull.Value;
        row["field_02"] = dataItem.attributes.field_02 ?? DBNull.Value;
        row["field_03"] = dataItem.attributes.field_03 ?? DBNull.Value;
        datatable.Rows.Add(row);
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 20:44:57