如何获取 JSON 响应数组的所有索引值?
Posted
技术标签:
【中文标题】如何获取 JSON 响应数组的所有索引值?【英文标题】:How to get JSON response array all index values? 【发布时间】:2014-09-18 05:12:04 【问题描述】:我需要获取 JSON 响应数组的所有索引值并维护单独的数组。下面我发布了我的 JSON 响应,我希望控制台输出也如下所示。请帮我。
response : [
A = [
name : "sons";
age = [
4
];
,
name : "rondo";
age = [
2
];
,
];
]
我需要存储单独的数组单独的值,如下所示控制台输出
2014-09-18 10:24:39.461 Myapp[1133:60b] RESULT :
name = "sons";
age = 4;
2014-09-18 10:24:39.462 Myapp[1133:60b] RESULT :
name = "rondo";
age = 2;
下面我试过了,但我知道我只能得到第 0 个索引值,但我需要从 JSON 响应数组中获取所有索引值:
myvalue = [NSString stringWithFormat:@"%@",[[[[responsData objectAtIndex:0] valueForKey:@"A"] objectAtIndex:0] valueForKey:@"name"]];
【问题讨论】:
你尝试了多远? 你需要解析json并生成你想要的格式 没有。我需要从#1 JSON 响应中获得类似于上述控制台输出的外观。 【参考方案1】:如果要获取所有对象,请使用相应的键获取数组。然后根据数组计数通过迭代for循环将结果存储到另一个数组中。
NSArray *recordsArr = [[responsedata objectAtIndex:0] valueForKey:@"A"];
NSMutableArray *resultArray = [[NSMutableArray alloc] init];
for (int i = 0; i < [recordsArr count]; i ++)
NSMutableDictionary *recordDict = [[NSMutableDictionary alloc] init];
[recordDict setObject:[[recordsArr objectAtIndex:i] valueForKey:@"name"] forKey:@"name"];
[recordDict setObject:[[[recordsArr objectAtIndex:i] valueForKey:@"age"] objectAtIndex:0] forKey:@"age"];
[resultArray addObject:recordDict];
NSLog(@"%@",resultArray);
输出:
2014-09-18 12:49:22.047 testprj[1044:60b] (
age = 4;
name = sons;
,
age = 2;
name = rondo;
)
【讨论】:
你的回答真的很棒,对我很有帮助。顺便说一句,您应该删除 [objectAtIndex:0] 以获取年龄值。非常感谢。 不客气。我只是根据输出编写了代码。你可以根据你想要的输出修改代码:) 好,非常感谢!【参考方案2】:NSString *strName = (NSString *) [yourArray valueForKey:@"name"];
NSInteger age = [(NSNumber *) [yourArray valueForKey:@"age"] integerValue];
【讨论】:
您可以创建数组而不是字符串和整数,然后您将在数组中一次获取所有数据以上是关于如何获取 JSON 响应数组的所有索引值?的主要内容,如果未能解决你的问题,请参考以下文章
如何实现 JSON 解析代码以获取对 NSArray 的响应?