当前位置: 首页 > news >正文

做网站学的是代码吗seo快速排名软件品牌

做网站学的是代码吗,seo快速排名软件品牌,具有品牌的网站建设,网站建设搜索优需求:有一个log文件,需要整理成Excel,日志文件里面的数据都是json字符串 思路是,把Json字符串转换成DataTable,然后导出到Excel 在网上找了一些资料,整理了以下三种类型的Json 一、Json转换DataTable 1.处理…

需求:有一个log文件,需要整理成Excel,日志文件里面的数据都是json字符串

思路是,把Json字符串转换成DataTable,然后导出到Excel

在网上找了一些资料,整理了以下三种类型的Json

一、Json转换DataTable

1.处理简单Json:

[{"mac":"20:f1:7c:c5:cd:80","rssi":"-86","ch":"9"},{"mac":"20:f1:7c:c5:cd:85","rssi":"-91","ch":"9"}]
        /// <summary>/// Json 字符串 转换为 DataTable数据集合/// </summary>/// <param name="json"></param>/// <returns></returns>public static DataTable ToDataTableTwo(string json){DataTable dataTable = new DataTable();  //实例化
            DataTable result;try{JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);if (arrayList.Count > 0){foreach (Dictionary<string, object> dictionary in arrayList){if (dictionary.Keys.Count<string>() == 0){result = dataTable;return result;}//Columnsif (dataTable.Columns.Count == 0){foreach (string current in dictionary.Keys){dataTable.Columns.Add(current, dictionary[current].GetType());}}//RowsDataRow dataRow = dataTable.NewRow();foreach (string current in dictionary.Keys){dataRow[current] = dictionary[current];}dataTable.Rows.Add(dataRow); //循环添加行到DataTable中
                    }}}catch{}result = dataTable;return result;}

 2.处理复杂Json

[{"id":"00e58d51","data":[{"mac":"20:f1:7c:c5:cd:80","rssi":"-86","ch":"9"},{"mac":"20:f1:7c:c5:cd:85","rssi":"-91","ch":"9"}]},
{"id":"00e58d53","data":[{"mac":"bc:d1:77:8e:26:78","rssi":"-94","ch":"11"},{"mac":"14:d1:1f:3e:bb:ac","rssi":"-76","ch":"11"},{"mac":"20:f1:7c:d4:05:41","rssi":"-86","ch":"12"}]}]
        /// <summary>/// Json 字符串 转换为 DataTable数据集合/// </summary>/// <param name="json"></param>/// <returns></returns>public static DataTable ToDataTable(string json){DataTable dataTable = new DataTable();  //实例化
            DataTable result;try{JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);if (arrayList.Count > 0){foreach (Dictionary<string, object> dictionary in arrayList){if (dictionary.Keys.Count<string>() == 0){result = dataTable;return result;}//Columnsif (dataTable.Columns.Count == 0){foreach (string current in dictionary.Keys){if (current != "data")dataTable.Columns.Add(current, dictionary[current].GetType());else{ArrayList list = dictionary[current] as ArrayList;foreach (Dictionary<string, object> dic in list){foreach (string key in dic.Keys){dataTable.Columns.Add(key, dic[key].GetType());}break;}}}}//Rowsstring root = "";foreach (string current in dictionary.Keys){if (current != "data")root = current;else{ArrayList list = dictionary[current] as ArrayList;foreach (Dictionary<string, object> dic in list){DataRow dataRow = dataTable.NewRow();dataRow[root] = dictionary[root];foreach (string key in dic.Keys){dataRow[key] = dic[key];}dataTable.Rows.Add(dataRow);}}}}}}catch{}result = dataTable;return result;}

3.处理不规则Json,因为列并不确定,所以直接定义列,不动态生成

[{"id":"00e58d53","data":[{"mac":"34:b3:54:89:86:64","rssi":"-86","ch":"13"},{"mac":"50:bd:5f:02:80:44","rssi":"-90","ch":"1"}]},
{"id":"00ccda81","data":[{"mac":"bc:46:99:4e:96:c8","rssi":"-92","ch":"1"},{"mac":"bc:3a:ea:fc:77:6c","rssi":"-93","ch":"6","ds":"Y","essid":"vienna hotel WIFI"}]}]
       /// <summary>/// Json 字符串 转换为 DataTable数据集合/// </summary>/// <param name="json"></param>/// <returns></returns>public static DataTable ToDataTable(string json){DataTable dataTable = new DataTable();  //实例化
            DataTable result;try{dataTable.Columns.Add("id");dataTable.Columns.Add("mac");dataTable.Columns.Add("rssi");dataTable.Columns.Add("ch");dataTable.Columns.Add("ts");dataTable.Columns.Add("tmc");dataTable.Columns.Add("tc");dataTable.Columns.Add("ds");dataTable.Columns.Add("essid");JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);if (arrayList.Count > 0){foreach (Dictionary<string, object> dictionary in arrayList){if (dictionary.Keys.Count<string>() == 0){result = dataTable;return result;}//Rowsstring root = "";foreach (string current in dictionary.Keys){if (current != "data")root = current;else{ArrayList list = dictionary[current] as ArrayList;foreach (Dictionary<string, object> dic in list){DataRow dataRow = dataTable.NewRow();dataRow[root] = dictionary[root];foreach (string key in dic.Keys){dataRow[key] = dic[key];}dataTable.Rows.Add(dataRow);}}}}}}catch{}result = dataTable;return result;}

 

二、导出Excel

        /// <summary>/// 导出Excel/// </summary>/// <param name="table"></param>/// <param name="file"></param>public void dataTableToCsv(DataTable table, string file){string title = "";FileStream fs = new FileStream(file, FileMode.OpenOrCreate);StreamWriter sw = new StreamWriter(new BufferedStream(fs), System.Text.Encoding.Default);for (int i = 0; i < table.Columns.Count; i++){title += table.Columns[i].ColumnName + "\t"; //栏位:自动跳到下一单元格
            }title = title.Substring(0, title.Length - 1) + "\n";sw.Write(title);foreach (DataRow row in table.Rows){string line = "";for (int i = 0; i < table.Columns.Count; i++){line += row[i].ToString().Trim() + "\t"; //内容:自动跳到下一单元格
                }line = line.Substring(0, line.Length - 1) + "\n";sw.Write(line);}sw.Close();fs.Close();}

三、调用实现,数据导出到Excel

        protected void Button1_Click(object sender, EventArgs e){string str = File.ReadAllText(@"C:\Users\Admin\Desktop\json.txt");DataTable dt = ToDataTable(str);this.dataTableToCsv(dt, @"E:\json.xls"); //调用函数 }

 

转载于:https://www.cnblogs.com/zhangjd/p/6007072.html

http://www.lbrq.cn/news/2364067.html

相关文章:

  • 购物网站设计理念买卖交易网
  • 安庆市城乡建设网站爱战网关键词挖掘查询工具
  • 全国二级建造师查询网站制作网站需要什么技术
  • 个人优秀网站苏州seo关键词优化排名
  • 个人电脑做服务器网站百度推广怎么样才有效果
  • 建手机端网站常州seo关键词排名
  • 重庆网站编辑职业学校关键词排名查询工具有什么作用?
  • 永嘉网站制作系统pc端网页设计公司
  • 做个外贸的网站不懂英语咋做互联网营销模式有哪些
  • 慧聪网de网站建设策略seo同行网站
  • 微网站建设计划书网络营销主要是学什么的
  • 手表网站那个好百度竞价代理公司
  • 一流的手机网站建设seo专业技术培训
  • 合肥网站忧化百度快速排名 搜
  • 网络规划设计师难考吗网站关键词优化教程
  • 微网站平台热搜词排行榜
  • 网站开发立项报告电商平台推广费用大概要多少
  • 宜宾网站建设北斗网络软文推广什么意思
  • 鸭梨网站建设北京网络优化推广公司
  • 企业展示型网站建设长沙seo网站排名
  • 建立网站需要分几部进行外链网
  • 八里庄网站建设本地推荐本地推荐
  • 如何加强英文网站建设百度推广业务电话
  • 做网站seo怎么赚钱cba最新排名
  • 如何在亚马逊做公司网站惠州seo代理商
  • 用电脑做服务器制作网站长沙seo平台
  • android app for wordpress无锡seo优化公司
  • 腾讯云服务器用什么做网站网络营销活动策划方案模板
  • 自如网站做的好 服务怎样申请网站
  • 外贸型网站建设方法网站源码交易平台
  • 【JVM】深入理解 JVM 类加载器
  • 从零开发足球比分APP:REST API与WebSocket的完美搭配
  • 剑指offer64_圆圈中最后剩下的数字
  • 小型客厅如何装修设计?
  • 跨平台移动开发技术深度分析:uni-app、React Native与Flutter的迁移成本、性能、场景与前景
  • 卷积模型的优化--Dropout、批标准化与学习率衰减