将DataTable或Ilist转换成JSON格式

using  System;
using  System.Data;
using  System.Text;
using  System.Collections.Generic;
using  System.Reflection;

///   <summary>
///  将DataTable或Ilist <> 转换成JSON格式
///   </summary>
public   class  ToJson
{
    
public  ToJson()
    {

    }
    
public   static   string  DataTableToJson( string  jsonName, DataTable dt)
    {
        StringBuilder Json 
=   new  StringBuilder();
        Json.Append(
" {\ ""  + jsonName +  " \ " :[ " );
        
if  (dt.Rows.Count  >   0 )
        {
            
for  ( int  i  =   0 ; i  <  dt.Rows.Count; i ++ )
            {
                Json.Append(
" { " );
                
for  ( int  j  =   0 ; j  <  dt.Columns.Count; j ++ )
                {
                    Json.Append(
" \ ""  + dt.Columns[j].ColumnName.ToString() +  " \ " :\ ""  + dt.Rows[i][j].ToString() +  " \ "" );
                    
if  (j  <  dt.Columns.Count  -   1 )
                    {
                        Json.Append(
" , " );
                    }
                }
                Json.Append(
" } " );
                
if  (i  <  dt.Rows.Count  -   1 )
                {
                    Json.Append(
" , " );
                }
            }
        }
        Json.Append(
" ]} " );
        
return  Json.ToString();
    }
    
public   static   string  ObjectToJson < T > ( string  jsonName, IList < T >  IL)
    {
        StringBuilder Json 
=   new  StringBuilder();
        Json.Append(
" {\ ""  + jsonName +  " \ " :[ " );
        
if  (IL.Count  >   0 )
        {
            
for  ( int  i  =   0 ; i  <  IL.Count; i ++ )
            {
                T obj 
=  Activator.CreateInstance < T > ();
                Type type 
=  obj.GetType();
                PropertyInfo[] pis 
=  type.GetProperties();
                Json.Append(
" { " );
                
for  ( int  j  =   0 ; j  <  pis.Length; j ++ )
                {
                    Json.Append(
" \ ""  + pis[j].Name.ToString() +  " \ " :\ ""  + pis[j].GetValue(IL[i], null) +  " \ "" );
                    
if  (j  <  pis.Length  -   1 )
                    {
                        Json.Append(
" , " );
                    }
                }
                Json.Append(
" } " );
                
if  (i  <  IL.Count  -   1 )
                {
                    Json.Append(
" , " );
                }
            }
        }
        Json.Append(
" ]} " );
        
return  Json.ToString();
    }
}


你可能感兴趣的:(Datatable)