开发中经常要获取各种数据,而现今比较常见的数据便是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; 4 using 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 JsondataPro12 {13 ????public partial class Form1 : Form14 ????{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并读取数据
原文地址:http://www.cnblogs.com/ncle/p/7745124.html