欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c#擴(kuò)展datatable轉(zhuǎn)json示例

 更新時(shí)間:2014年05月05日 11:25:48   作者:  
這篇文章主要介紹了c#擴(kuò)展datatable轉(zhuǎn)json示例,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

namespace PadWebServices.Model
{
   public static class DataTableExtender
    {
       public static string ToJson(this DataTable dt,string tbName)  // this DataTable 標(biāo)識(shí)對(duì)DataTable類的擴(kuò)展
            {
                StringBuilder JsonString = new StringBuilder();
                if (dt != null && dt.Rows.Count > 0)
                {
                    JsonString.Append("{ ");
                    JsonString.Append("\""+tbName+"\":[ ");
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        JsonString.Append("{ ");
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            if (j < dt.Columns.Count - 1)
                            {
                                JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\",");
                            }
                            else if (j == dt.Columns.Count - 1)
                            {
                                JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\"");
                            }
                        }

                        /*end Of String*/
                        if (i == dt.Rows.Count - 1)
                        {
                            JsonString.Append("} ");
                        }
                        else
                        {
                            JsonString.Append("}, ");
                        }
                    }
                    JsonString.Append("]}");
                    return JsonString.ToString();
                }
                else
                {
                    return null;
                }

            }

    }
}

在用到的時(shí)候,using擴(kuò)展類所在的空間,就可以用了。

復(fù)制代碼 代碼如下:

[WebMethod]
public string GetSwt_yBatch()
{   
    DataTable dt = new BllSwt_yBatch().GetSwt_yBatch();
    return dt.ToJson("swt_yBatch");
}

這里的webservice返回的格式還是XML,只不過(guò)通過(guò)轉(zhuǎn)成JSON的數(shù)據(jù),在XML中是這樣:

復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8" ?>
  <string xmlns="http://tempuri.org/">{ "swt_yBatch":[ { "sDoc_c":"test1","sDocAdd_c":"test2","nBatch":"1"},
{ "sDoc_c":"test3","sDocAdd_c":"test4","nBatch":"2"}, { "sDoc_c":"test3","sDocAdd_c":"test4","nBatch":"2"} ]}</string>

沒(méi)有轉(zhuǎn)成JSON的數(shù)據(jù)是這樣:

復(fù)制代碼 代碼如下:

<?xml version="1.0" encoding="utf-8" ?>
- <DataSet xmlns="http://tempuri.org/">
- <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Table1">
- <xs:complexType>
- <xs:sequence>
  <xs:element name="sDoc_c" type="xs:string" minOccurs="0" />
  <xs:element name="sDocAdd_c" type="xs:string" minOccurs="0" />
  <xs:element name="nBatch" type="xs:int" minOccurs="0" />
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:choice>
  </xs:complexType>
  </xs:element>
  </xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <NewDataSet xmlns="">
- <Table1 diffgr:id="Table11" msdata:rowOrder="0">
  <sDoc_c>test1</sDoc_c>
  <sDocAdd_c>test2</sDocAdd_c>
  <nBatch>1</nBatch>
  </Table1>
- <Table1 diffgr:id="Table12" msdata:rowOrder="1">
  <sDoc_c>test3</sDoc_c>
  <sDocAdd_c>test4</sDocAdd_c>
  <nBatch>2</nBatch>
  </Table1>
- <Table1 diffgr:id="Table13" msdata:rowOrder="2">
  <sDoc_c>test3</sDoc_c>
  <sDocAdd_c>test4</sDocAdd_c>
  <nBatch>2</nBatch>
  </Table1>
  </NewDataSet>
  </diffgr:diffgram>
  </DataSet>

相關(guān)文章

  • C#在驗(yàn)證文件共享模式下實(shí)現(xiàn)多線程文件寫入

    C#在驗(yàn)證文件共享模式下實(shí)現(xiàn)多線程文件寫入

    這篇文章主要為大家詳細(xì)介紹了C#在驗(yàn)證文件共享模式下實(shí)現(xiàn)多線程文件寫入的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-01-01
  • C# listview 點(diǎn)擊列頭排序的實(shí)例

    C# listview 點(diǎn)擊列頭排序的實(shí)例

    下面小編就為大家?guī)?lái)一篇C# listview 點(diǎn)擊列頭排序的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • c#使用listbox的詳細(xì)方法和常見(jiàn)問(wèn)題解決

    c#使用listbox的詳細(xì)方法和常見(jiàn)問(wèn)題解決

    這篇文章介紹了c#使用listbox的詳細(xì)方法和常見(jiàn)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法

    C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法

    這篇文章主要介紹了C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 基于C#實(shí)現(xiàn)的多生產(chǎn)者多消費(fèi)者同步問(wèn)題實(shí)例

    基于C#實(shí)現(xiàn)的多生產(chǎn)者多消費(fèi)者同步問(wèn)題實(shí)例

    這篇文章主要介紹了基于C#實(shí)現(xiàn)的多生產(chǎn)者多消費(fèi)者同步問(wèn)題,包括了加鎖與釋放鎖,以及對(duì)應(yīng)臨界資源的訪問(wèn)。是比較實(shí)用的技巧,需要的朋友可以參考下
    2014-09-09
  • Unity UI或3D場(chǎng)景實(shí)現(xiàn)跟隨手機(jī)陀螺儀的晃動(dòng)效果

    Unity UI或3D場(chǎng)景實(shí)現(xiàn)跟隨手機(jī)陀螺儀的晃動(dòng)效果

    這篇文章主要介紹了Unity UI或3D場(chǎng)景實(shí)現(xiàn)跟隨手機(jī)陀螺儀的晃動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C#通過(guò)JObject解析json對(duì)象

    C#通過(guò)JObject解析json對(duì)象

    這篇文章介紹了C#通過(guò)JObject解析json對(duì)象的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • C#自定義字符串壓縮和解壓縮的方法

    C#自定義字符串壓縮和解壓縮的方法

    這篇文章主要介紹了C#自定義字符串壓縮和解壓縮的方法,通過(guò)自定義C#字符串操作類實(shí)現(xiàn)對(duì)字符串的壓縮與解壓的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-04-04
  • Unity Shader實(shí)現(xiàn)圖形繪制(藍(lán)天白云大海)

    Unity Shader實(shí)現(xiàn)圖形繪制(藍(lán)天白云大海)

    這篇文章主要為大家詳細(xì)介紹了Unity Shader實(shí)現(xiàn)圖形繪制,藍(lán)天白云大海,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 詳析C#的協(xié)變和逆變

    詳析C#的協(xié)變和逆變

    這篇文章主要介紹了詳析C#的協(xié)變和逆變,在引用類型系統(tǒng)時(shí),協(xié)變、逆變和不變性具有如下定義。?這些示例假定一個(gè)名為?Base?的基類和一個(gè)名為?Derived的派生類,更多內(nèi)容請(qǐng)需要的小伙伴參考下面文章內(nèi)容
    2022-01-01

最新評(píng)論