LitJson的集合解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LitJson的集合解析相关的知识,希望对你有一定的参考价值。
参考技术A //生成json数据List<T> list = new List<T>();
string listJson = JsonMapper.ToJson(list);
Console.WriteLine(listJson);
//解析json
List<T> list = JsonMapper.ToObject<List<T>>(listJson);
然后遍历集合就可以了
注意:LitJson在打包浮点数的时候可能会报错,在运用过程中尽量用整数代替浮点数
使用 LitJson 解析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; 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 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的集合解析的主要内容,如果未能解决你的问题,请参考以下文章