zoukankan      html  css  js  c++  java
  • 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];

    效果图:

  • 相关阅读:
    ztree
    SAMEORIGIN
    Unity shader学习之折射
    Unity shader学习之反射
    Unity shader学习之标准的Unity shader
    Unity shader学习之Alpha Test的阴影
    Unity shader学习之阴影,衰减统一处理
    Unity shader学习之阴影
    Unity shader学习之Forward Rendering Path
    AsyncClientUtils
  • 原文地址:https://www.cnblogs.com/ioriwellings/p/2876919.html
Copyright © 2011-2022 走看看