ios - 如何从另一个数组中获取数组

标签 ios arrays json

我有一个 json 数组,像这样:

 a=   {"title":"workers","data":[{"name":"tom","id":"LBJP01Z"},{"name":"bob","id":"LBJP08Z"},{"name":"bill","id":"LBJP02Z"}]},{"title":"teachers","data":[{"name":"jill","id":"LZJP01Z"},{"name":"tim","id":"LBJP03Z"},{"name":"sam","id":"LBJP07Z"}]}

我想要这样的结果:

tom
bob
bill
jill
tim
sam

我的代码:

for (int i = 0; i < [a count]-1; i++) {

    for (int j = 0; j < [a[i] count]-1; j++)
    {

        NSString *str = [NSString stringWithFormat:@"%@",[[[[a objectAtIndex:i]objectForKey:@"data"]objectAtIndex:j] objectForKey:@"name"]];
        NSLog(@"%@",str);

    }
}

但最终,我得到了这样的结果:

tom
tom
tom
tom
tom
tom

最佳答案

在您的 JSON 中,a 是字典,而不是数组。获取data数组开始:

NSArray *dataArray = a[@"data"];

现在,使用 KVC 提取名称:

NSArray *names = [dataArray valueForKey:@"name"];

关于ios - 如何从另一个数组中获取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22068663/

相关文章:

javascript - Mongoose:查找子文档并修改它的数组?

python - 如何在 Firebase 中循环 UID

ios - 如何在不重启 ios 设备的情况下加载 launchDaemon.plist?

php - 图片上传到 SSL 文件夹,状态代码 200,标题 {connection = closed}

ios - 使用 Array 实现 Swift ViewModel

php - 使用 Symfony 2 序列化器对对象中的嵌套结构进行非规范化

python - 将 pandas 数据框转换为自定义 json

ios - 室内定位和 iBeacons

c - 动态内存/realloc 字符串数组

java - 使用 HQL Select 的 Hibernate 和 JAX-RS 响应