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

Posted

技术标签:

【中文标题】如何从另一个数组中获取数组【英文标题】:How to get array from another array 【发布时间】:2014-02-27 12:34:04 【问题描述】:

我有一个 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.org 并研究 JSON 语法。学习只需5-10分钟。这样你就能更好地理解你在做什么。 【参考方案1】:

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

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

现在,使用 KVC 提取名称:

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

【讨论】:

【参考方案2】:
NSMutableDictionary *yourdict = [a JSONValue];
NSMutableArray *my_arr = [get_news objectForKey:@"data"];
[my_arr retain];

【讨论】:

以上是关于如何从另一个数组中获取数组的主要内容,如果未能解决你的问题,请参考以下文章

通过索引从数组中获取对象,即从另一个数组中获取

如何从另一个数组中获取具有批准 ID 的项目?地图()过滤器()还是?

我如何传递从另一个模型获取的角色数组以在 laravel 中注册表单

如何从另一个数组中的 JSON 对象中提取值?

从另一个表的数组中的table where子句中选择

从 MongoDB 文档中获取 ID,然后从另一个文档中获取它们的相关值