Json.NET的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下Json.NET的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)自2013年起,公司以成都網站設計、成都網站建設、系統(tǒng)開發(fā)、網絡推廣、文化傳媒、企業(yè)宣傳、平面廣告設計等為主要業(yè)務,適用行業(yè)近百種。服務企業(yè)客戶千余家,涉及國內多個省份客戶。擁有多年網站建設開發(fā)經驗。為企業(yè)提供專業(yè)的網站建設、創(chuàng)意設計、宣傳推廣等服務。 通過專業(yè)的設計、獨特的風格,為不同客戶提供各種風格的特色服務。

首次遭遇Json格式,緣由項目中用到Json數據,需要進行解析,為此,將Json數據轉為了自己較為熟悉的DataTable格式,以此展示至DataGridView中,驗證是否成功。

直接上代碼:

/// <summary>
/// JSON數據轉換為datatable類型數據
/// </summary>
/// <param name="strjson">JSON數據字符串</param>
/// <returns>轉換為DataTable類型的JSON數據</returns>
private DataTable JSONToDataTable(string strjson)
{
    DataTable dt=new DataTable();
    DataColumn dc;
    DataRow dr;

    #region 添加列
    //用于添加列
    JsonReader jrcolumn = new JsonTextReader(new StringReader(strjson));

    bool hascolumn = false; //當前列名是否存在
    while (jrcolumn.Read())
    {
        //判斷當前值是否是字段名
        if (jrcolumn.TokenType.ToString() == "PropertyName")
        {
            //判斷當前列名是否在datatable中已存在
            foreach (DataColumn column in dt.Columns)
            {
                if (column.ColumnName == jrcolumn.Value.ToString())
                {
                    hascolumn = true;    //存在相同名稱的列
                    break;
                }
            }

            //存在相同列,表示全部結束
            if (hascolumn == true)
            {
                break;
            }

            //添加新列
            dc = new DataColumn();
            dc.ColumnName = jrcolumn.Value.ToString();
            jrcolumn.Read();
            dc.DataType = System.Type.GetType(jrcolumn.ValueType.ToString()); //列類型
            dt.Columns.Add(dc);
        }
    }
    #endregion

    #region 添加數據記錄
    //用于添加記錄
    JsonReader jrrow = new JsonTextReader(new StringReader(strjson));

    dr = dt.NewRow();
    while (jrrow.Read())
    {
        if (jrrow.TokenType.ToString() == "PropertyName")
        {
            string columnname = jrrow.Value.ToString();
            jrrow.Read();
            dr[columnname] = jrrow.Value.ToString();
            if (columnname == dt.Columns[dt.Columns.Count - 1].ColumnName.ToString())
            {
                dt.Rows.Add(dr);
                dr = dt.NewRow();
            }
        }
    }
    #endregion

    return dt;
}

以上是“Json.NET的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)網站制作公司行業(yè)資訊頻道!

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。

文章題目:Json.NET的示例分析-創(chuàng)新互聯(lián)
URL網址:http://www.muchs.cn/article16/dpcpdg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網頁設計公司、網站維護、企業(yè)網站制作面包屑導航、搜索引擎優(yōu)化用戶體驗

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網站建設