1. 程式人生 > >親測可用:將資料庫查詢結果DataReader轉換為Json

親測可用:將資料庫查詢結果DataReader轉換為Json

如果有其他型別的話,大概可以歸為兩類,需要加""的,和不需要加的,這裡我都有處理,可以直接在對應處新增型別即可。因為我查詢的資料裡牽扯到了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不能出現為空的情況,所以將其轉換成字串來進行處理。