1. 程式人生 > >C# DataTable轉換Json類

C# DataTable轉換Json類

    public static class Json
    {
        /// <summary>
        /// DataTable轉json
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="arr"></param>
        /// <returns></returns>
        public static string DateTableToJson(DataTable dt, string[] arr)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("{\"list\":[");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append("{");
                for (int j = 0; j < arr.Length; j++)
                {
                    sb.Append("\"" + arr[j] + "\":\"" + dt.Rows[i][arr[j]].ToString() + "\"");
                    if (j != arr.Length - 1)
                    {
                        sb.Append(",");
                    }
                }
                sb.Append("}");
                if (i != dt.Rows.Count - 1)
                {
                    sb.Append(",");
                }
            }
            sb.Append("],\"maxsize\":0,\"uptime\":\"" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "\"");
            sb.Append("}");
            return sb.ToString();
            //return "{\"list\":[{\"id\":\"9878\",\"title\":\"test\",\"source\":\"sdsd\",\"imgmode\":\"1\",\"images\":\"11.jpg,\",\"uptime\":\"aaa\"},{\"id\":\"9877\",\"title\":\"ddddddddd\",\"source\":\"ss\",\"imgmode\":\"3\",\"images\":\"11.jpg,\",\"uptime\":\"sa\"}],\"maxsize\":0,\"uptime\":\"2017-05-12 21:50:35\"}";
        }
        public static string DateTableToJson(DataTable dt, string[] arr, string other)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("{\"list\":[");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append("{");
                for (int j = 0; j < arr.Length; j++)
                {
                    sb.Append("\"" + arr[j] + "\":\"" + dt.Rows[i][arr[j]].ToString().Trim() + "\"");
                    if (j != arr.Length - 1)
                    {
                        sb.Append(",");
                    }
                }
                sb.Append("}");
                if (i != dt.Rows.Count - 1)
                {
                    sb.Append(",");
                }
            }
            sb.Append("],\"maxsize\":0,\"uptime\":\"" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "\"");
            sb.Append("," + other);
            sb.Append("}");
            return sb.ToString();
            //return "{\"list\":[{\"id\":\"9878\",\"title\":\"test\",\"source\":\"sdsd\",\"imgmode\":\"1\",\"images\":\"news/201405/121725308994.jpg,\",\"uptime\":\"aaa\"},{\"id\":\"9877\",\"title\":\"ddddddddd\",\"source\":\"ss\",\"imgmode\":\"3\",\"images\":\"1.jpg,\",\"uptime\":\"sa\"}],\"maxsize\":0,\"uptime\":\"2017-05-12 21:50:35\"}";
        }

        public static string DateTableToJson(DataTable dt, string[] arr, string other, string top)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("{\"list\":[");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                sb.Append("{");
                for (int j = 0; j < arr.Length; j++)
                {
                    sb.Append("\"" + arr[j] + "\":\"" + dt.Rows[i][arr[j]].ToString().Trim() + "\"");
                    if (j != arr.Length - 1)
                    {
                        sb.Append(",");
                    }
                }
                sb.Append("}");
                if (i != dt.Rows.Count - 1)
                {
                    sb.Append(",");
                }
            }
            sb.Append("],\"maxsize\":0,\"uptime\":\"" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "\"");
            sb.Append("," + other);
            if (dt.Rows.Count >= int.Parse(top))
            {
                sb.Append(",\"pager\":1");
            }
            else
            {
                sb.Append(",\"pager\":0");
            }
            sb.Append("}");
            return sb.ToString();
        }

        public static string DateTableToJson(List<DataTable> dts, string[] arr, int count, string top)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("{");
            for (int z = 1; z <= count; z++)
            {
                sb.Append("\"list" + z + "\":[");
                for (int i = 0; i < dts[z - 1].Rows.Count; i++)
                {
                    sb.Append("{");
                    for (int j = 0; j < arr.Length; j++)
                    {
                        sb.Append("\"" + arr[j] + "\":\"" + dts[z - 1].Rows[i][arr[j]].ToString().Replace("\"", "'") + "\"");
                        if (j != arr.Length - 1)
                        {
                            sb.Append(",");
                        }
                    }
                    sb.Append("}");
                    if (i != dts[z - 1].Rows.Count - 1)
                    {
                        sb.Append(",");
                    }
                }
                sb.Append("]");
                if (dts[z - 1].Rows.Count > 0)
                {
                    if (dts[z - 1].Rows.Count >= int.Parse(top))
                    {
                        sb.Append(",\"pager" + z + "\":1");
                    }
                    else
                    {
                        sb.Append(",\"pager" + z + "\":0");
                    }
                }

                if (z != count)
                {
                    sb.Append(",");
                }
            }
            sb.Append(",\"maxsize\":0,\"uptime\":\"" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "\"");
            sb.Append("}");
            return sb.ToString();
            //return "{\"list\":[{\"id\":\"9878\",\"title\":\"test\",\"source\":\"sdsd\",\"imgmode\":\"1\",\"images\":\"news/201405/121725308994.jpg,\",\"uptime\":\"aaa\"},{\"id\":\"9877\",\"title\":\"ddddddddd\",\"source\":\"ss\",\"imgmode\":\"3\",\"images\":\"news/201405/121629216426.jpg,\",\"uptime\":\"sa\"}],\"maxsize\":0,\"uptime\":\"2017-05-12 21:50:35\"}";
        }
    }

使用方法:

	string[] arr = { "ID", "AreaID", "ShopNameOrDate", "MonthSalesLeiJi", "MonthSalesTongQi", "MonthAnAddSubtract" };
						var result = WebApplication5.Json.DateTableToJson(dt, arr);

相關推薦

C# DataTable轉換Json

public static class Json { /// <summary> /// DataTable轉json /// </summary> /// <par

C#實體轉換輔助

/// <summary>             /// 實體轉換輔助類             /// </summary>    

C# DataTablejson

/// <summary> /// Datatable轉換為Json /// </summary> ///

C# DataTable 和List之間相互轉換的方法

dbn execute 屬性 ins 集合 方法 summary efault getprop 一、List<T>/IEnumerable轉換到DataTable/DataView private DataTable ToDataTable<T>(

理解C#語言中的轉換----初學者的理解,請大神指教

寫代碼 需要 con c# 初學 har 3.1 parse 範圍 一下都是在視頻教學中學到後的理解,如果說錯了請大神指教 C#語言中的類型轉換,就是將某個數據要轉換成另一個類型的數據。 c#語言中的數據類型主要有: char類型(字符類型); string類型(字符串類型

Json.net實現方便的JsonC#(dynamic動態型)對象

bar 方便 api lba c# oid tool 可能 情況 以前需要將一段json字符串轉換為C#對象時,一般都是定義一個與之對應的實體類來接收。這樣做有一個很大的缺點,就是當字符串特別長,屬性特別多,又有嵌套時,手敲這個實體類就非常痛苦。 比如之前做的一個接收百度七

JSON之Asp.net MVC C#對象轉JSONDataTableJSON,List<T>轉JSON,JSON轉List<T>,JSONC#對象

技術分享 toolbar index 基本 枚舉 對象轉json tostring cab 拼接 一、JSON解析與字符串化   JSON.stringify()  序列化對象、數組或原始值   語法:JSON.stringify(o,filter,indent)     

Datatable轉換Json

public pre str urn ++ blog json lec bsp /// <summary> /// Datatable轉換為Json /// </summary>

使用Gson的Json轉換工具

space .com p s win left ebo href face get 382bt我S辭籃廝0綽yhttp://www.facebolw.com/space/2102274 u6靡q壬第62曳ihttp://www.facebolw.com/space/210

c#語言中的轉換

寫代碼 字符串 時間 編碼 3.1 表示 編寫 需要 string 類 在使用C#用語言編寫代碼的時候,經常要切換各種數據類型。這個時候就需要用到各種數字類型之間的切換。希望這篇隨筆可以有些幫助。 常用的數據類型轉換。例如,很多時候把用戶輸入的string 類

C++學習之路(六):關於C++提供的強制轉換

code 記錄 是不是 通過 行修改 單元 c語言 enum 表達式 C語言中提供了舊式的強制類型轉換方法。比如: int a =1; char *p = (char *)&a; 上述將a的地址單元強制轉換為char類型的指針。這裏暫且不說上述轉換結果是否合理,但

C的隱式轉換

賦值運算符 有一個 ffffff 表達 計時 可能 不同類 類型 有時 這篇文章僅僅針對C語言存在的隱式類型轉換做一些分析,關於C++的這方面研究,有時間我再另外寫一篇文章。 關於隱式類型轉換,是指發生在沒有明確說明的情況下(C語言風格的強制類型轉換就是屬於我們程序員有明

C#常用資料型別轉換工具

using System.Collections; using System.Collections.Generic; using UnityEngine; using System; using System.IO; using System.Text; /// <summary> /

json 物件轉換物件

//從物件中 提取  元素              String data = jsonObj.getString("data");      &n

java json轉換工具

在java專案中,通常會用到json型別的轉換,常常需要對 json字串和物件進行相互轉換。 在製作自定義的json轉換類之前,先引入以下依賴 <!--json解析工具--> <dependency> <groupId>com.fasterx

C 物件與JSON字串互相轉換的幾種方式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

後臺 datatable轉換json

要使用Json.NET的話,先到官網:http://json.codeplex.com/ 引入名稱空間 using Newtonsoft.Json; using Newtonsoft.Json.Converters; dt = evtobj.GetEventList(); //轉為jso

Json字串與實體集轉換工具——SpringBootQuickStart

開始更新SpringBoot2.x 快速入門系列 本次分享一個常用的工具類,實體集與字串互相轉換的工具類,也就是Json字串的序列化與反序列化 Demo 下載: https://github.com/wangyushuai/springboot-quick-start 歡迎大

JAVA之JSON字符串轉換實體

tex scrip per amp ava bject mob urn throw @Overridepublic String getExamPaper(String examID, String userID) throws Exception{ String s

c#拓展方法將datatable轉換成實體

/// <summary> /// DataTable 轉換為 List<T> /// </summary> /// <typeparam name="T"></typeparam> /// <param