在前面我已經寫了asp的版本,最近一個項目中正好需要用json來填充下拉框,所以寫了一個asp.net的將數據庫裡的記錄轉換成json,代碼如下:
以下是引用片段:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace OTC.Utility
...{
public sealed class JSONHelper
...{
/**////
/// 獲取JSON字符串
///
/// 值
/// 數據表名
///
public static string GetJSON(SqlDataReader drValue, string strTableName)
...{
StringBuilder sb = new StringBuilder();
sb.AppendLine("{");
sb.AppendLine(" " + strTableName + ":{");
sb.AppendLine(" records:[");
try
...{
while (drValue.Read())
...{
sb.Append(" {");
for (int i = 0; i < drValue.FieldCount; i++)
...{
sb.AppendFormat(""":"",", drValue.GetName(i), drValue.GetValue(i));
}
sb.Remove(sb.ToString().LastIndexOf(’,’), 1);
sb.AppendLine("},");
}
sb.Remove(sb.ToString().LastIndexOf(’,’), 1);
}
catch(Exception ex)
...{
throw new Exception(ex.Message);
}
finally
...{
drValue.Close();
}
sb.AppendLine(" ]");
sb.AppendLine(" }");
sb.AppendLine(" };");
return sb.ToString();
}
}
}
接下來你只需要傳一個SqlDataReader對象就可以了。