C# JSONHelper之Json转换方法大全

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
using System.Data;

///  
/// JSON帮助类 
///  
publicclassJSONHelper
{
    ///  
    /// 对象转JSON 
    ///  
    /// 对象 
    /// JSON格式的字符串 
    publicstaticstringObjectToJSON(object obj)
    {
        JavaScriptSerializer jss =newJavaScriptSerializer();
        try
        {
            return jss.Serialize(obj);
        }
        catch(Exception ex)
        {

            thrownewException("JSONHelper.ObjectToJSON(): "+ ex.Message);
        }
    }

    ///  
    /// 数据表转键值对集合 www.2cto.com  
    /// 把DataTable转成 List集合, 存每一行 
    /// 集合中放的是键值对字典,存每一列 
    ///  
    /// 数据表 
    /// 哈希表数组 
    publicstaticList>DataTableToList(DataTable dt)
    {
        List> list
             =newList>();

        foreach(DataRow dr in dt.Rows)
        {
            Dictionary dic =newDictionary();
            foreach(DataColumn dc in dt.Columns)
            {
                dic.Add(dc.ColumnName, dr[dc.ColumnName]);
            }
            list.Add(dic);
        }
        return list;
    }

    ///  
    /// 数据集转键值对数组字典 
    ///  
    /// 数据集 
    /// 键值对数组字典 
    publicstaticDictionary>>DataSetToDic(DataSet ds)
    {
        Dictionary>> result =newDictionary>>();

        foreach(DataTable dt in ds.Tables)
            result.Add(dt.TableName,DataTableToList(dt));

        return result;
    }

    ///  
    /// 数据表转JSON 
    ///  
    /// 数据表 
    /// JSON字符串 
    publicstaticstringDataTableToJSON(DataTable dt)
    {
        returnObjectToJSON(DataTableToList(dt));
    }

    ///  
    /// JSON文本转对象,泛型方法 
    ///  
    /// 类型 
    /// JSON文本 
    /// 指定类型的对象 
    publicstatic T JSONToObject(string jsonText)
    {
        JavaScriptSerializer jss =newJavaScriptSerializer();
        try
        {
            return jss.Deserialize(jsonText);
        }
        catch(Exception ex)
        {
            thrownewException("JSONHelper.JSONToObject(): "+ ex.Message);
        }
    }

    ///  
    /// 将JSON文本转换为数据表数据 
    ///  
    /// JSON文本 
    /// 数据表字典 
    publicstaticDictionary>>TablesDataFromJSON(string jsonText)
    {
        returnJSONToObject>>>(jsonText);
    }

    ///  
    /// 将JSON文本转换成数据行 
    ///  
    /// JSON文本 
    /// 数据行的字典 
    publicstaticDictionaryDataRowFromJSON(string jsonText)
    {
        returnJSONToObject>(jsonText);
    }
}

你可能感兴趣的:(JavaScript,NET)