两层嵌套的JSON包的解法
由于后台的变态,有时候会出现两层甚至多层嵌套的JSON包。
一层的很好解,而且我看过一些比较大的网站新闻接口返回的JSON包也仅仅是一层的。
比如下图所示一层的包
代码也很简单直观
dict = [data objectFromJSONData]; // 这里可能会转换失败,还需要接着做判断 _dinnArray = [[NSMutableArray alloc] init];
_dataArray = [dict objectForKey:@"data"];
for (NSDictionary *DinnDict in _dataArray) {
Service *servic = [[Service alloc]init];
servic.name = [DinnDict objectForKey:@"names"];
servic.time = [DinnDict objectForKey:@"server_time"];
servic.tel = [DinnDict objectForKey:@“tel”];
[_dinnArray addObject:servic];
}
读取_dinnArray的时候也很简单
Service *service = [_dinnArray objectAtIndex:indexPath.row];
两层的嵌套,看了很多网上的帖子,都会出错。
针对如下图所示的包
代码今天暂时就不强调重点了。先贴在下面
dict = [data objectFromJSONData];
_dataArray= [[dict objectForKey:@"data"]retain];
for (NSDictionary*ScourDict in _dataArray) {
_listArray=[ScourDict objectForKey:@"tel_list"];
NSMutableArray*scourArray=[[NSMutableArray alloc]init];
//NSLog(@"scoreArray remove %@",scourArray);
for (NSDictionary*listDict in _listArray) {
//NSLog(@"listDict %@",listDict);
//NSLog(@"listDict count %d",[listDict count]);
Address*address=[[Address alloc]init];
address.namelist=[listDict objectForKey:@"name_contacts"];
address.phone=[listDict objectForKey:@"phone_number"];
[scourArray addObject:address];
}
[_fourArray addObject:scourArray];
}
读取数组部分
_adressArray=[_fourArray objectAtIndex:indexPath.section];
Address*address=[_adressArray objectAtIndex:indexPath.row];
重点是,在存的部分,scourArray必须为局部变量,不然只能存储上最后一组数据,前面的都会被覆盖掉。
另外,读的部分,要套两层才能把Array读出来。这类似一个二维数组的变通实现方法。存,存的是一个二维的数组;读,读的也是一个二维数组。
两层嵌套的JSON包的解法的更多相关文章
- 两层嵌套list,选取list中最长的list的长度
# coding=utf-8 import pandas as pd file_path = "test_aa.xlsx" dt = pd.read_excel(file_path ...
- [转]oracle分页用两层循环还是三层循环?
select t2.* from --两层嵌套 (select t.* , rownum as row_numfrom t where rownum <=20) t2 where t2.row_ ...
- js解析多层嵌套的json,取出所有父元素属性和遍历所有子元素
已知一个多层嵌套的json,取出所有父元素和子元素的id值 思路:因为不知道到底嵌套了多少层,递归有可能造成栈溢出.查询时间特别久的问题 所以先查询一次,判断是否有子节点,如果有,取出子节点并到父节点 ...
- 两层fragment嵌套时出现空白,(收藏别人的)
完美解决 两层Fragment,内层空白 转载:http://blog.csdn.net/bingospunky/article/details/51352400 目录(?)[+] 前言 两层Frag ...
- 两层Fragment嵌套,外层Fragment切换时内层Fragment不显示内容
尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky/article/details/46847269 需求 在搭界面有这么样一个需求:须要两层的Frag ...
- Java创建和解析Json数据方法(二)——org.json包的使用
(二)org.json包的使用 1.简介 工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookie ...
- Java创建和解析Json数据方法——org.json包的使用(转)
org.json包的使用 1.简介 工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookies, ...
- Linux网络栈下两层实现
http://www.cnblogs.com/zmkeil/archive/2013/04/18/3029339.html 1.1简介 VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linu ...
- Java中net.sf.json包关于JSON与对象互转的问题
在Web开发过程中离不开数据的交互,这就需要规定交互数据的相关格式,以便数据在客户端与服务器之间进行传递.数据的格式通常有2种:1.xml:2.JSON.通常来说都是使用JSON来传递数据.本文正是介 ...
随机推荐
- Link方式导入java项目
一.环境说明 我用的是eclipse3.3.2,并安装了myeclipse的插件. 二.工程文件说明 一共三个文件夹: javacode:存放Java源文件,包含多个子文件夹,每个子文件夹表示一个单独 ...
- Misha and Palindrome Degree
Misha and Palindrome Degree 题目链接:http://codeforces.com/problemset/problem/501/E 贪心 如果区间[L,R]满足条件,那么区 ...
- Java 泛型 泛型代码和虚拟机
Java 泛型 泛型代码和虚拟机 @author ixenos 类型擦除.原始类型.给JVM的指令.桥方法.Java泛型转换的事实 l 类型擦除(type erasure) n Java泛型的处理 ...
- 1、SpringMVC+MyBaits实现查询所有
1.创建如下所示项目 2.在src下的com.entity包下创建 Emp.java package com.entity; /** * * @author Holly老师 * */ public c ...
- Python之异步IO&RabbitMQ&Redis
协程: 1.单线程运行,无法实现多线程. 2.修改数据时不需要加锁(单线程运行),子程序切换是线程内部的切换,耗时少. 3.一个cpu可支持上万协程,适合高并发处理. 4.无法利用多核资源,因为协程只 ...
- luci页面“save&apply”的实现分析
页面上配置的“保存&应用”功能的实现: 最终调用到/etc/config/ucitrack的配置文件. 例如配置无线时,对应ucitrack配置文件中的config network op ...
- 一步一步学EF系列1【Fluent API的方式来处理实体与数据表之间的映射关系】
EF里面的默认配置有两个方法,一个是用Data Annotations(在命名空间System.ComponentModel.DataAnnotations;),直接作用于类的属性上面,还有一个就是F ...
- 聊天系统Demo,增加Silverlight客户端(附源码)-- ESFramework 4.0 快速上手(09)
在ESFramework 4.0 快速上手 -- 入门Demo,一个简单的IM系统(附源码)一文中,我们介绍了使用ESFramework的Rapid引擎开发的winform聊天程序,本文我们将在之前d ...
- Dot Product
These are vectors: They can be multiplied using the "Dot Product" (also see Cross Product) ...
- Python库 - import matplotlib.pyplot as plt 报错问题
为了避免各种问题,请使用最新的2.7.13安装文件 1.先设置好环境变量 在path变量中设置好以下路径: C:\Python27\Scripts C:\Python27 2.大部分报错问题 ...