【发布时间】:2017-08-23 21:47:11
【问题描述】:
我有一个 C# 应用程序,它检索以下格式的 SQL 结果集:
customer_id date_registered date_last_purchase loyalty_points
1 2017-01-01 2017-05-02 51
2 2017-01-23 2017-06-21 124
...
如何将其转换为 JSON 字符串,以便第一列 (customer_id) 是键,而所有其他后续列是每个客户 ID 的嵌套 JSON 对象中的值?
例子:
{
1: {
date_registered: '2017-01-01',
date_last_purchase: '2017-05-02',
loyalty_points: 51,
...
},
2: {
date_registered: '2017-01-23',
date_last_purchase: '2017-06-21',
loyalty_points: 124,
...
},
...
}
除了date_registered、date_last_purchase和loyalty_points之外,以后可能还会有其他的列,所以我不想专门提到这些列名。因此,我已经使用下面的代码来获取列名,但在此之后被卡住了。
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
var columns = new List<string>();
for (var i = 0; i < sqlDataReader.FieldCount; i++)
{
columns.Add(sqlDataReader.GetName(i));
}
while (sqlDataReader.Read())
{
rows.Add(columns.ToDictionary(column => column, column => sqlDataReader[column]));
}
【问题讨论】:
-
How can I convert this to a JSON string我没有看到您的问题有任何实现这一目标的尝试。
标签: c# sql sql-server json sqldatareader