您好,登錄后才能下訂單哦!
小編給大家分享一下Json.NET的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
首次遭遇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的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。