DataSetToJson 扩展方法

001using System;

002using System.Collections.Generic;
003using System.Linq;
004using System.Text;
005using System.Data;
006  
007namespace Common
008
009  
010    public static class JsonExtensions
011    
012        #region DataSetToJson 扩展方法
013        /// <summary>
014        /// DataSetToJson 扩展方法
015        /// </summary>
016        /// <param name="ds">要传入的DataSet</param>
017        /// <param name="JsonName">Json的名称</param>
018        /// <param name="ParName">Json字段名称</param>
019        /// <returns>返回JSON字符串</returns>
020        public static string DataSetToJson(this DataSet ds, string JsonName, string[] ParName)
021        
022            try
023            
024                if (ds == null
025                
026                    return "DataSet Is Null ,So I Can't Do It To Json!"
027                
028                if (JsonName.Length < 1)
029                
030                    return "You Set The Json Name Is Wrong!"
031                
032                if (ds.Tables[0].Columns.Count < ParName.Length)
033                
034                    return "You Give The ParName Is Bigger Than DataSet Columns!"
035                
036                string josn = "{" + JsonName + ":["
037                string temp = ""
038                for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
039                
040                    temp = temp + "{"
041                    for (int i = 0; i < ParName.Length; i++)
042                    
043                        temp += "" + ParName[i] + ":\'" + ds.Tables[0].Rows[j][ParName[i]] + "\'"
044                        if (i != ParName.Length - 1)
045                        
046                            temp = temp + ","
047                        
048                    
049                    if (j == ds.Tables[0].Rows.Count - 1)
050                    
051                        temp = temp + "}"
052                    
053                    else
054                    
055                        temp = temp + "},"
056                    
057                
058                josn = josn + temp + "]}"
059                return josn;
060            
061            catch (Exception ex)
062            
063                return "Codeing is Error----" + ex.ToString();
064            
065  
066        
067  
068        #endregion
069  
070        #region  DataSetToJson 扩展方法
071        /// <summary>
072        /// DataSetToJson 扩展方法
073        /// </summary>
074        /// <param name="ds">要传入的DataSet</param>
075        /// <returns>返回JSON字符串<</returns>
076        public static string DataSetToJson(this DataSet ds)
077        
078            try
079            
080                if (ds == null
081                
082                    return "DataSet Is Null ,So I Can't Do It To Json!"
083                
084                string josn = "["
085                string temp = ""
086                for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
087                
088                    temp = temp + "{"
089                    for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
090                    
091                        temp += "" + ds.Tables[0].Columns[i].ColumnName + ":\'" + ds.Tables[0].Rows[j][i] + "\'"
092                        if (i != ds.Tables[0].Columns.Count - 1)
093                        
094                            temp = temp + ","
095                        
096                    
097                    if (j == ds.Tables[0].Rows.Count - 1)
098                    
099                        temp = temp + "}"
100                    
101                    else
102                    
103                        temp = temp + "},"
104                    
105                
106                josn = josn + temp + "]"
107                return josn;
108            
109            catch (Exception ex)
110            
111                return "Codeing is Error----" + ex.ToString();
112            
113  
114        
115        #endregion
116    
117}
posted @ 2014-02-26 21:03  zzg168  阅读(331)  评论(0编辑  收藏  举报