JSON 列转行的一小段无用代码
json:
1 [{"iTagID":9,"cTag":"Liuxx测试-标签-1","cUnit":"TT","values":[{"serial_number":1,"cDate":"2012-11-05","fValue":30},{"serial_number":2,"cDate":"2013-01-10","fValue":400},{"serial_number":3,"cDate":"2013-01-13","fValue":200},{"serial_number":4,"cDate":"2013-01-16","fValue":200},{"serial_number":5,"cDate":"2013-01-16","fValue":290},{"serial_number":6,"cDate":"2013-01-16","fValue":350},{"serial_number":7,"cDate":"2013-01-16","fValue":310},{"serial_number":8,"cDate":"2013-01-17","fValue":200},{"serial_number":9,"cDate":"2013-01-17","fValue":15},{"serial_number":10,"cDate":"2013-01-17","fValue":20},{"serial_number":11,"cDate":"2013-05-17","fValue":30}]},{"iTagID":10,"cTag":"Liuxx测试-标签-2","cUnit":"VAR","values":[{"serial_number":1,"cDate":"2012-11-05","fValue":60},{"serial_number":2,"cDate":"2013-01-10","fValue":100},{"serial_number":3,"cDate":"2013-01-13","fValue":50},{"serial_number":4,"cDate":"2013-01-16","fValue":100},{"serial_number":5,"cDate":"2013-01-16","fValue":109},{"serial_number":6,"cDate":"2013-01-16","fValue":200},{"serial_number":7,"cDate":"2013-01-16","fValue":300},{"serial_number":8,"cDate":"2013-01-17","fValue":50},{"serial_number":9,"cDate":"2013-01-17","fValue":16},{"serial_number":10,"cDate":"2013-01-17","fValue":30},{"serial_number":11,"cDate":"2013-05-17","fValue":60}]},{"iTagID":11,"cTag":"Liuxx测试-标签-3","cUnit":"VARh","values":[{"serial_number":1,"cDate":"2013-01-16","fValue":1630}]},{"iTagID":12,"cTag":"Liuxx测试-标签-4","cUnit":"W","values":[{"serial_number":1,"cDate":"2013-01-09","fValue":3},{"serial_number":2,"cDate":"2013-01-13","fValue":5},{"serial_number":3,"cDate":"2013-01-14","fValue":6},{"serial_number":4,"cDate":"2013-01-16","fValue":9}]}]
1 NSMutableArray *tempSection = [NSMutableArray arrayWithCapacity:10]; 2 3 NSMutableArray *headArray = nil; 4 for (id ele in json) 5 { 6 NSDictionary *dict = @{ 7 @"tag" : [NSString stringWithFormat:@"%@", [ele objectForKey:@"cTag"]], 8 @"unit": [NSString stringWithFormat:@"%@", [ele objectForKey:@"cUnit"]] 9 }; 10 if(headArray == nil) 11 { 12 headArray = [NSMutableArray arrayWithObject:dict]; 13 } 14 else 15 { 16 [headArray addObject:dict]; 17 } 18 } 19 int iColumnCount =0; 20 for(int i=0; i<[json count]; i++) 21 { 22 iColumnCount = MAX(iColumnCount, [[json[i] objectForKey:@"values"] count]); 23 for(int j=0;j<iColumnCount;j++) 24 { 25 if([tempSection count] == j) //在数据行数组中再加一行 26 { 27 NSMutableArray *rowArray = [NSMutableArray arrayWithCapacity:10]; 28 [tempSection addObject:rowArray]; 29 } 30 if(j >= [[json[i] objectForKey:@"values"] count]) //放空占位符 31 { 32 [tempSection[j] addObject:[NSNull null]]; 33 continue; 34 } 35 id colValue1 = [[json[i] objectForKey:@"values"][j] objectForKey:@"serial_number"]; 36 id colValue2 = [[json[i] objectForKey:@"values"][j] objectForKey:@"cDate"] == nil ? @"" : [[json[i] objectForKey:@"values"][j] objectForKey:@"cDate"] ; 37 id colValue3 = [[json[i] objectForKey:@"values"][j] objectForKey:@"fValue"]; 38 39 [tempSection[j] addObject:@{@"serial_number":colValue1, @"date":colValue2, @"value":colValue3}]; 40 } 41 } 42 43 [tempSection insertObject:headArray atIndex:0];
效果图:
JSON 列转行的一小段无用代码相关推荐
- 一小段jQuery代码的分析与优化
今天刚回家,QQ群里就看到有人求助优化一段jQuery代码,简单看了一下,发现如果对jQuery这东西只停留在用的层面,而不知其具体实现的话,真的很容易用出问题来.这也是为什么近期我一直不怎么推崇用j ...
- 一小段Python代码,破解加密zip文件的密码
今天的文章来自 盏茶作酒 同学.他在老电脑中发现了一个加密的 zip 文件,于是用 Python 破解了文件密码.在破解的过程中出现了内存爆炸的问题,通过阅读 Python 源代码找到了解决方案. 下 ...
- java程序重新执行一遍_我怎么在jsp里只执行其中一小段java代码,而不把整个页面都重新加载一遍?...
嗯,比如说第一个里是省份,第二个是市,根据省份的选择变化来变化市名,从数据库里选,怎么实现? 用xmlhttp来实现 查了一下还蛮难上手的,唯一的方法? 用iframe,我刚做完类似的项目,挺管用 请 ...
- oracle sql列转行_Oracle数据库中列转行的两种方法
1.创建tb_student表 create table tb_student( id number(4) , name varchar2(20), course varchar2(20), scor ...
- mysql 分组 列转行,mysql列转行以及年月分组_MySQL
bitsCN.com mysql列转行以及年月分组 Java代码 SELECT count(DISTINCT(a.rect_id)) zcount, a.job_dept, DATE_FORMAT(s ...
- Java中有关日期的操作,昨天晚上赴约,搞到12点多才回来,今天写这一小段代码都花了一段漫长的时间,哎。。...
Java中有关日期的操作,昨天晚上赴约,搞到12点多才回来,今天写这一小段代码都花了一段漫长的时间,哎.. 代码奉上: /** * * @param date * @return which mont ...
- oracle游标列转行,Oracle行转列和列转行
一.行转列 1.1.初始测试数据 表结构:TEST_TB_GRADE Sql代码: 1 create table TEST_TB_GRADE 2 ( 3 ID NU ...
- oracle列转行求和,Oracle行转列和列转行
一.行转列 1.1.初始测试数据 表结构:TEST_TB_GRADE Sql代码: 1 create table TEST_TB_GRADE 2 ( 3 ID NU ...
- 将Excel文件导入到MySQL数据库中并实现列转行操作
在处理数据的时候,因为数据源在Excel文件中,本人Excel文件的处理方法不是太会,加上朋友说在Excel中处理这样的数据很麻烦,我就想着干脆导入到数据库中通过代码解决这个问题,感兴趣的可以找我拿数 ...
最新文章
- 两个ListBox中的项互相移动及上下移动
- 一篇文章带你了解APP PUSH推送机制
- 【机器学习】机器学习中必知必会的 8 种降维技术,最后一款超硬核!
- 右下角android sdk content loader 加载很慢的解决方法
- 后台系统可扩展性学习笔记(十三)缓存
- Linux下的实模式和保护模式
- Android应用开发提高篇(4)-----Socket编程(多线程、双向通信)
- mpython 编译_使用-m选项或n执行Python代码
- 元宇宙是个啥?送4本科普好书
- MyEclipse 修改 默认的 工作空间(转)
- 修改配置nginx,限制无良爬虫频率
- FPGA 串口接收不准确,有误码
- 关闭Windows指定端口
- 一款快速开单 订单发货收货的在线订货管理软件
- CVPR 2020 | 旷视研究院提出优化领域自适应物体检测性能的类别正则化框架
- echarts 自定义鼠标划过的显示 与 自定义legend
- (websocket)协议中Ping Pong,Socket通讯ping pong(长连接),心跳包
- 【大数据】Hadoop 体系(五)
- 微信浏览器唤醒App
- 基于JAVA银创科技有限公司人事信息系统计算机毕业设计源码+系统+数据库+lw文档+部署
热门文章
- java 中常用方法_java_中常用的方法总结
- es分布式结构原理是什么?
- java检索字符串并提取_eclipse 项目中搜索资源(类方法,文件名,文件中的字符串)...
- 【Zookeeper进阶】大白话解释Zookeeper的选举机制
- Intellij IDEA 2020.1 的Plugins 搜索不了插件,连接超时
- python数据类型变量_python的数据类型与变量
- Python爬虫项目--爬取某宝男装信息 附带源码
- matlab sperman相关,相关系数
- java 给控件添加边框_Android UI 利用Drawable Shape给控件加边框/立体效果
- postman python request_postman自动化实战总结