使用 LitJson 解析Json並讀取數據
阿新 • • 發佈:2017-10-27
ace ebo mapper richtext ram list json數據解析 ota .json
開發中經常要獲取各種數據,而現今比較常見的數據便是Json數據格式,網上也有很多解析Json數據的方法,但是 作為小白的我,對於那些個高大上的方法理解不夠,這不找了許久發了這些一個 LitJson 庫,使用此庫對Json數據解析簡直明了,推薦使用!
LitJson 使用起來比較簡單,這裏就不一一扯了,
類庫下載地址:https://files.cnblogs.com/files/ncle/JsondataPro.rar
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 using LitJson; 10 11 namespace JsondataPro 12 { 13 public partial class Form1 : Form 14 { 15 public Form1() 16 { 17 InitializeComponent(); 18} 19 20 /// <summary> 21 /// 通過LitJson 讀取Json數據格式 22 /// </summary> 23 /// <param name="sender"></param> 24 /// <param name="e"></param> 25 private void button1_Click(object sender, EventArgs e) 26 { 27 //記錄程序運行時間開始28 System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); 29 watch.Start(); 30 31 //讀取Json數據 32 JsonData jd = JsonMapper.ToObject(Properties.Resources.json); 33 //得到第一層數據 34 richTextBox1.Text = string.Format("errcode={0},errmsg={1},data={2}", jd[0], jd[1], jd[2])+Environment.NewLine; 35 //得到第二層數據 36 JsonData jd1 = jd[2]; //得到data段 37 richTextBox1.AppendText(string.Format("total={0},page_count={1},page_index={2},page_size={3},word={4}", jd1[0], jd1[1], jd1[2], jd1[3], jd1[4])+Environment.NewLine); 38 //得到第三層數據 39 JsonData jd2 = jd1[4]; 40 41 //循環讀取最後想要的數據 42 for (int i = 0; i < jd2.Count; i++) 43 { 44 JsonData jd3 = jd2[i]; 45 //richTextBox1.AppendText(string.Format("keyword={0},baidu_index={1},long_keyword_count={2}", jd3[0], jd3[1], jd3[2])+Environment.NewLine); 46 ListViewItem item = new ListViewItem(i.ToString()); 47 item.SubItems.Add(jd3[0].ToString()); 48 item.SubItems.Add(jd3[1].ToString()); 49 item.SubItems.Add(jd3[2].ToString()); 50 item.SubItems.Add(jd3[3].ToString()); 51 item.SubItems.Add(jd3[4].ToString()); 52 item.SubItems.Add(jd3[5].ToString()); 53 item.SubItems.Add(jd3[6].ToString()); 54 item.SubItems.Add(jd3[7].ToString()); 55 item.SubItems.Add(jd3[8].ToString()); 56 listView1.Items.Add(item); 57 } 58 59 watch.Stop(); //停止監視 60 TimeSpan timespan = watch.Elapsed; //獲取當前實例測量得出的總時間 61 MessageBox.Show("解析Json完畢:共【" + listView1.Items.Count + "】條記錄!打開窗口代碼執行時間:{0}(毫秒)"+timespan.TotalMilliseconds); //總毫秒數 62 } 63 } 64 }
使用 LitJson 解析Json並讀取數據