我有检索以下格式设置SQL结果的C#应用程序:转换SqlDataReader的结果,以JSON,嵌套JSON对象
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]));
}
'我怎样才能将其转换为JSON字符串'我没有看到你的问题,以实现这一点的任何尝试。 –