最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中把DataTable、Dataset轉Json數據

 更新時間:2022年04月23日 08:53:17   作者:農碼一生  
這篇文章介紹了C#中把DataTable、Dataset轉Json數據的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

什么是JSON

JSON是JavaScript Object Notation的簡稱,中文含義為“JavaScript 對象表示法”,它是一種數據交換的文本格式,而不是一種編程語言。

JSON 是一種輕量級的數據交換格式,它基于 ECMAScript (w3c制定的js規(guī)范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。

JSON的特點

JSON 主要具有以下特性,這些特性使它成為理想的數據交換語言:

  • JSON 是輕量級的文本數據交換格式
  • JSON 具有自我描述性,更易理解
  • JSON 采用完全獨立于語言的文本格式:JSON 使用 JavaScript 語法來描述數據對象,但是 JSON 仍然獨立于語言和平臺。JSON 解析器和 JSON 庫支持許多不同的編程語言。 目前常見的動態(tài)編程語言(PHP,JSP,.NET)都支持JSON。
  • JSON 是存儲和交換文本信息的一種語法,它與XML具有相同的特性,是一種數據存儲格式,卻比 XML 更小、更快、 更易于人編寫和閱讀、更易于生成和解析。

類似于 XML 的特性:

  • JSON 是純文本
  • JSON 具有“自我描述性”(人類可讀)
  • JSON 具有層級結構(值中存在值)
  • JSON 可通過 JavaScript 進行解析
  • JSON 數據可使用 AJAX 進行傳輸

相比 XML 的不同之處:

  • 沒有結束標簽
  • 更短
  • 讀寫的速度更快
  • 能夠使用內建的 JavaScript eval() 方法進行解析
  • 使用數組
  • 不使用保留字

DataTable轉Json

        public static string DataTableToJson1(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();
        }

Dataset轉Json

主方法

        public static string Dataset2Json(DataSet ds)
        {
            StringBuilder json = new StringBuilder();

            foreach (DataTable dt in ds.Tables)
            {
                json.Append("{\"");
                json.Append(dt.TableName);
                json.Append("\":");
                json.Append(DataTable2Json(dt));
                json.Append("}");
            } return json.ToString();
        }

調用方法 

        public static string DataTableToJson2(DataTable dt)
        {
            StringBuilder Json = new StringBuilder();
            Json.Append("{\"" + dt.TableName + "\":[");
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Json.Append("\r\n" + "{\"device\":" + "\r\n" + "{");
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        string columName = dt.Columns[j].ColumnName.ToString();
                        string columValue = dt.Rows[i][j].ToString();
                        if (j == 9)//"radios":{"wifiMAC":~~},
                            Json.Append("\"radios\":{\"" + columName + "\":\"" + columValue + "\"}");
                        else if (j == 10 || j == 11)//"partDetails":{"mainLogicBoardSerialNumber":~~, "batterySerialNumber":~~ }      
                        {
                            if (j == 10)
                                Json.Append("\"partDetails\":{\"" + columName + "\":\"" + columValue + "\"");
                            else
                                Json.Append("\"" + columName + "\":\"" + columValue + "\"}}");
                        }
                        else if (j == 12)
                            Json.Append("\"order\":{\"" + columName + "\":\"" + columValue + "\"");
                        else if (j == 16)
                            Json.Append("\"" + columName + "\":\"" + columValue + "\"}");
                        else
                            Json.Append("\"" + columName + "\":\"" + columValue + "\"");

                        if (j < dt.Columns.Count - 1 )
                            Json.Append(",");
                    }
                    Json.Append("}");
                    if (i < dt.Rows.Count - 1)
                    {
                        Json.Append(",");
                    }
                }
            }
            Json.Append("\r\n" + "]}");
            return Json.ToString();
        }

到此這篇關于C#中把DataTable、Dataset轉Json數據的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C#實現設置電腦顯示器參數

    C#實現設置電腦顯示器參數

    這篇文章主要為大家詳細介紹了如何利用C#實現設置電腦顯示器參數,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下
    2022-12-12
  • C#調用WebService實例與開發(fā)教程(推薦)

    C#調用WebService實例與開發(fā)教程(推薦)

    下面小編就為大家分享一篇C#調用WebService實例與開發(fā)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨想過來看看吧
    2017-12-12
  • C# 撒列實現關鍵字過濾的實例

    C# 撒列實現關鍵字過濾的實例

    C# 撒列實現關鍵字過濾的實例,需要的朋友可以參考一下
    2013-04-04
  • 探討C#中Dispose方法與Close方法的區(qū)別詳解

    探討C#中Dispose方法與Close方法的區(qū)別詳解

    本篇文章是對C#中Dispose方法與Close方法的區(qū)別進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • C#使用Stopwatch實現計時功能

    C#使用Stopwatch實現計時功能

    在 C# 中,Stopwatch 類是用于測量經過的時間的工具類,提供了高精度的計時功能,本文主要介紹了C#如何使用Stopwatch實現計時功能,需要的可以參考下
    2024-03-03
  • 基于C#編寫一個合并多個Word文檔的工具

    基于C#編寫一個合并多個Word文檔的工具

    這篇文章主要為大家詳細介紹了如何使用C#編寫一個小工具,可以實現把多個word文檔進行合并成一個word文檔,感興趣的小伙伴可以了解下
    2024-02-02
  • 教你如何用C#制作文字轉換成聲音程序

    教你如何用C#制作文字轉換成聲音程序

    近突發(fā)奇想,想玩玩文字轉語音的東東,想了下思路,用C#簡單實現了下,分享給大家,打算下面搞搞語音識別,下次分享給大家
    2014-09-09
  • 再議C#中的裝箱與拆箱的問題詳解

    再議C#中的裝箱與拆箱的問題詳解

    本篇文章再次介紹了C#中的裝箱與拆箱,這次們看下使用泛型和不使用泛型引發(fā)裝箱拆箱的情況
    2013-05-05
  • 基于C#實現亂碼視頻效果

    基于C#實現亂碼視頻效果

    亂碼視頻效果可能很多人都在抖音看到過,即把一個短視頻,轉成數字、字母等亂碼組成的形式進行播放。本文將用C#實現一下這一效果,感興趣的可以了解一下
    2023-01-01
  • C#讀寫配置文件方式(config.ini)入門

    C#讀寫配置文件方式(config.ini)入門

    這篇文章主要介紹了C#讀寫配置文件方式(config.ini)入門,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論

澄江县| 靖宇县| 广平县| 平远县| 凤城市| 延津县| 广东省| 祁阳县| 仁布县| 合山市| 启东市| 苏尼特左旗| 抚宁县| 青海省| 全州县| 台州市| 班戈县| 班戈县| 江达县| 获嘉县| 巫溪县| 邵武市| 万全县| 邵东县| 南木林县| 云霄县| 湖州市| 乐至县| 龙江县| 开封市| 伊川县| 宁强县| 南京市| 宝山区| 大丰市| 故城县| 叙永县| 冕宁县| 大竹县| 永靖县| 阿荣旗|