親測可用:將資料庫查詢結果DataReader轉換為Json
阿新 • • 發佈:2019-02-14
如果有其他型別的話,大概可以歸為兩類,需要加""的,和不需要加的,這裡我都有處理,可以直接在對應處新增型別即可。因為我查詢的資料裡牽扯到了datetime,所以我將其轉換成了string來處理
/// <summary>
/// DataReader轉換為Json
/// </summary>
/// <param name="dataReader">DataReader物件</param>
/// <returns>Json字串(陣列)</returns>
///
public static string ToJson(SqlDataReader dataReader)
{
StringBuilder jsonString = new StringBuilder();
jsonString.Append("[");
while (dataReader.Read())
{
jsonString.Append("{");
for (int i = 0; i < dataReader.FieldCount; i++)
{
Type type = dataReader.GetFieldType(i);
string strKey = dataReader.GetName(i);
string strValue = dataReader[i].ToString();
jsonString.Append("\"" + strKey + "\":");
strValue = String.Format(strValue, type);
//datetime不能出現為空的情況,所以將其轉換成字串來進行處理。
/// <summary>
/// DataReader轉換為Json
/// </summary>
/// <param name="dataReader">DataReader物件</param>
/// <returns>Json字串(陣列)</returns>
///
public static string ToJson(SqlDataReader dataReader)
{
StringBuilder jsonString = new StringBuilder();
jsonString.Append("[");
while (dataReader.Read())
{
jsonString.Append("{");
for (int i = 0; i < dataReader.FieldCount; i++)
{
Type type = dataReader.GetFieldType(i);
string strKey = dataReader.GetName(i);
string strValue = dataReader[i].ToString();
jsonString.Append("\"" + strKey + "\":");
strValue = String.Format(strValue, type);
//datetime不能出現為空的情況,所以將其轉換成字串來進行處理。