一个datatable转为json的函数

代码
  public   string  CreateJsonParameters(DataTable dt)
    {
        
/**/
        
/**/
        
/**/
        
/*  /****************************************************************************
      * Without goingin to the depth of the functioning of this Method, i will try to give an overview
      * As soon as this method gets a DataTable it starts to convert it into JSON String,
      * it takes each row and in each row it grabs the cell name and its data.
      * This kind of JSON is very usefull when developer have to have Column name of the .
      * Values Can be Access on clien in this way. OBJ.HEAD[0].<ColumnName>
      * NOTE: One negative point. by this method user will not be able to call any cell by its index.
     * ************************************************************************
*/
        StringBuilder JsonString 
=   new  StringBuilder();
        
// Exception Handling        
         if  (dt  !=   null   &&  dt.Rows.Count  >   0 )
        {
            JsonString.Append(
" " );
            JsonString.Append(
" Head:[  " );
            
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[i][j].ToString() +  " \ " , " );
                    }
                    
else   if  (j  ==  dt.Columns.Count  -   1 )
                    {
                        JsonString.Append(dt.Columns[j].ColumnName.ToString() 
+   " : "   +   " \ ""  + dt.Rows[i][j].ToString() +  " \ "" );
                    }
                }
                
/**/
                
/**/
                
/**/
                
/* end Of String */
                
if  (i  ==  dt.Rows.Count  -   1 )
                {
                    JsonString.Append(
" " );
                }
                
else
                {
                    JsonString.Append(
" },  " );
                }
            }
            JsonString.Append(
" ]} " );
            
return  JsonString.ToString();
        }
        
else
        {
            
return   null ;
        }
    }

转换数据后的形式类似于:

 

{ Head:[ { ID: " 80246 " ,EmployeeNameCn: " 张三 " }, { ID: " 80250 " ,EmployeeNameCn: " 李四 " }, { ID: " 80309 " ,EmployeeNameCn: " 王五 " }, { ID: " 80360 " ,EmployeeNameCn: " 赵六 " }]}

 

 

你可能感兴趣的:(Datatable)