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

如何将Salesforce CRM的Curl响应在C#的DataGridView中展示指定字段

在C# DataGridView中展示Salesforce CRM的指定JSON字段

步骤1:定义对应数据实体类

先创建一个类映射你需要的字段,确保属性与JSON字段匹配(大小写敏感,可通过特性适配命名差异):

public class SalesforceCase
{
    public string Id { get; set; }
    public string Status { get; set; }
    // 用Json.NET适配下划线命名字段
    [JsonProperty("Brand__c")]
    public string Brand { get; set; }
    [JsonProperty("Case_Name__c")]
    public string CaseName { get; set; }

    // 若用System.Text.Json,替换为以下特性:
    // [JsonPropertyName("Brand__c")]
    // public string Brand { get; set; }
    // [JsonPropertyName("Case_Name__c")]
    // public string CaseName { get; set; }
}

步骤2:反序列化JSON响应

将Curl返回的JSON字符串转为List<SalesforceCase>对象,以下是两种常用序列化方案:

方案1:使用Json.NET(Newtonsoft.Json)

先通过NuGet安装Newtonsoft.Json包,再执行反序列化:

// jsonResponse为你获取到的JSON字符串
List<SalesforceCase> cases = JsonConvert.DeserializeObject<List<SalesforceCase>>(jsonResponse);

方案2:使用System.Text.Json(.NET Core/.NET 5+内置)

无需额外安装包,直接调用:

List<SalesforceCase> cases = JsonSerializer.Deserialize<List<SalesforceCase>>(jsonResponse);

步骤3:绑定数据到DataGridView

提供两种绑定方式,按需选择:

方式1:自动绑定+筛选列

适合快速实现,自动生成列后隐藏不需要的字段:

// 清空现有数据
dataGridView1.DataSource = null;
// 绑定数据源
dataGridView1.DataSource = cases;
// 只保留目标列可见
var targetColumns = new[] {"Id", "Status", "Brand", "CaseName"};
foreach (DataGridViewColumn col in dataGridView1.Columns)
{
    col.Visible = targetColumns.Contains(col.Name);
}

方式2:手动创建列再绑定

更可控,避免生成多余列:

// 清空现有列与数据
dataGridView1.Columns.Clear();
dataGridView1.DataSource = null;

// 添加指定列并设置显示名称
dataGridView1.Columns.Add("IdColumn", "ID");
dataGridView1.Columns.Add("StatusColumn", "状态");
dataGridView1.Columns.Add("BrandColumn", "品牌");
dataGridView1.Columns.Add("CaseNameColumn", "案例名称");

// 关联列与实体类属性
dataGridView1.Columns["IdColumn"].DataPropertyName = "Id";
dataGridView1.Columns["StatusColumn"].DataPropertyName = "Status";
dataGridView1.Columns["BrandColumn"].DataPropertyName = "Brand";
dataGridView1.Columns["CaseNameColumn"].DataPropertyName = "CaseName";

// 绑定数据源
dataGridView1.DataSource = cases;

特殊情况处理

如果JSON响应是包含数组的嵌套结构(比如{"records": [/* 数据 */]}),需要先解析到数组节点再反序列化:

// Json.NET示例
JObject jsonObj = JObject.Parse(jsonResponse);
List<SalesforceCase> cases = jsonObj["records"].ToObject<List<SalesforceCase>>();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:52:42