database数据表转成JSON

第一个发送到前台要eval一下.转换成JS的数组

第二个转换成真正的JSON数据

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> ///   <summary>  
    
///  将一个数据表转换成一个JSON字符串,在客户端可以直接转换成二维数组。 
    
///   </summary>  
    
///   <param name="source"> 需要转换的表。 </param>  
    
///   <returns></returns>  
     public   static   string  DataTableToJson(DataTable source) 
    { 
        
if  (source.Rows.Count  ==   0
            
return   ""
        StringBuilder sb 
=   new  StringBuilder( " [ " ); 
        
foreach  (DataRow row  in  source.Rows) 
        { 
            sb.Append(
" [ " ); 
            
for  ( int  i  =   0 ; i  <  source.Columns.Count; i ++
            { 
                sb.Append(
' " '   +  row.ToString()  +   " \ " , " ); 
            } 
            sb.Remove(sb.Length 
-   1 1 ); 
            sb.Append(
" ], " ); 
        } 
        sb.Remove(sb.Length 
-   1 1 ); 
        sb.Append(
" ] " ); 
        
return  sb.ToString(); 
    } 

 

 

 

 

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> ///   <summary>  
    
///  反回JSON数据到前台 
    
///   </summary>  
    
///   <param name="dt"> 数据表 </param>  
    
///   <returns> JSON字符串 </returns>  
     public   string  CreateJsonParameters(DataTable dt) 
    { 
        StringBuilder JsonString 
=   new  StringBuilder(); 
        
// Exception Handling         
         if  (dt  !=   null   &&  dt.Rows.Count  >   0
        { 
            JsonString.Append(
" " ); 
            JsonString.Append(
" \ " TableInfo\ " :[  " ); 
            
for  ( int  i  =   0 ; i  <  dt.Rows.Count; i ++
            { 
                JsonString.Append(
" " ); 
                
for  ( int  j  =   0 ; j  <  dt.Columns.Count; j ++
                { 
                    
if  (j  <  dt.Columns.Count  -   1
                    { 
                        JsonString.Append(
" \ ""  + dt.Columns[j].ColumnName.ToString() +  " \ " : "   +   " \ ""  + dt.Rows[j].ToString() +  " \ " , " ); 
                    } 
                    
else   if  (j  ==  dt.Columns.Count  -   1
                    { 
                        JsonString.Append(
" \ ""  + dt.Columns[j].ColumnName.ToString() +  " \ " : "   +   " \ ""  + dt.Rows[j].ToString() +  " \ "" ); 
                    } 
                } 
                
/**/  
                
/* end Of String */  
                
if  (i  ==  dt.Rows.Count  -   1
                { 
                    JsonString.Append(
" " ); 
                } 
                
else  
                { 
                    JsonString.Append(
" },  " ); 
                } 
            } 
            JsonString.Append(
" ]} " ); 
            
return  JsonString.ToString(); 
        } 
        
else  
        { 
            
return   null
        } 
    } 

 

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> /**/ /// <summary> 
    
///JsonHelp 的摘要说明 
    
/// </summary> 

     public   static   class  JsonHelp 
    

        
/**//// <summary> 
        
/// 返回对象序列化 
        
/// </summary> 
        
/// <param name="obj">源对象</param> 
        
/// <returns>json数据</returns> 

        public static string ToJson(this object obj) 
        

            JavaScriptSerializer serialize 
= new JavaScriptSerializer(); 
            
return serialize.Serialize(obj); 
        }
 
        
/**//// <summary> 
        
/// 控制深度 
        
/// </summary> 
        
/// <param name="obj">源对象</param> 
        
/// <param name="recursionDepth">深度</param> 
        
/// <returns>json数据</returns> 

        public static string ToJson(this object obj, int recursionDepth) 
        

            JavaScriptSerializer serialize 
= new JavaScriptSerializer(); 
            serialize.RecursionLimit 
= recursionDepth; 
            
return serialize.Serialize(obj); 
        }
 
        
/**//// <summary> 
        
/// DataTable转为json 
        
/// </summary> 
        
/// <param name="dt">DataTable</param> 
        
/// <returns>json数据</returns> 

        public static string ToJson(DataTable dt) 
        

            Dictionary
<stringobject> dic = new Dictionary<stringobject>(); 
            
int index = 0
            
foreach (DataRow dr in dt.Rows) 
            

                Dictionary
<stringobject> result = new Dictionary<stringobject>(); 
                
foreach (DataColumn dc in dt.Columns) 
                

                    result.Add(dc.ColumnName, dr[dc].ToString()); 
                }
 
                dic.Add(index.ToString(), result); 
                index
++
            }
 
            
return dic.ToJson(); 
        }
 
    }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值