JSON到NSMutableArray iOS
作为对请求的响应,我得到JSON:JSON到NSMutableArray iOS,ios,objective-c,json,afnetworking,afnetworking-2,Ios,Objective C,Json,Afnetworking,Afnetworking 2,作为对请求的响应,我得到JSON: { "letters": { "A": 0, "B": 1, "C": 2, "D": 3, "E": 4, ... } } 这是我获取此JSON的代码: NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]]; AFHTTPRequestOpe
{
"letters": {
"A": 0,
"B": 1,
"C": 2,
"D": 3,
"E": 4,
...
}
}
这是我获取此JSON的代码:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.responseSerializer = [AFJSONResponseSerializer serializer];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"%@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
// Handle error
}];
我想用键(而不是值)填充数组,如下所示:
数组[0]=“A”
数组[1]=“B”
…?我还没有测试代码。但它应该与此类似:
NSDictionary *responseDictionary = (NSDictionary*)responseObject;
NSDictionary *letters = [responseDictionary objectForKey:"letters"];
NSMutableArray *lettersArray = [[NSMutableArray alloc]init];
if ( letters ){
for (NSInteger i = 0; i < letters; ++i)
{
[lettersArray addObject:[NSNull null]];
}
[letters enumerateKeysAndObjectsWithOptions:NSEnumerationConcurrent
usingBlock:^(id key, id object, BOOL *stop) {
[lettersArray replaceObjectAtIndex:[key integerValue] withObject:object]
}]
}
NSDictionary*responseDictionary=(NSDictionary*)responseObject;
NSDictionary*字母=[responseDictionary objectForKey:“字母”];
NSMUTABLEARRY*字母数组=[[NSMUTABLEARRY alloc]init];
如有(信件){
对于(NSInteger i=0;i
尝试以下代码
NSDictionary *letters = [responseObject objectForKey:"letters"];
NSArray *lettersArray = [letters allKeys];
由于您已经在使用JSON响应序列化程序,responseObject应该是一个字典 要获取子字典
字母的所有键,请执行以下操作
NSArray *letters = [reponseObject[@"letters"] allKeys];
这里不需要可变数组。但如果你想让它变,那就做吧
NSMutableArray *letters = [[reponseObject[@"letters"] allKeys] mutableCopy];
可能重复@sobolevn错误示例…@benji google it buddy。比起世界上所有海滩上的沙粒,你尝试做的事情还有更多的例子:假设,使用什么代码来获得响应并不重要;是的,这也可以做到,但我发现用户是新的,所以我用简单的方式写了它。真的谢谢你们。做不必要的事情怎么会更简单呢?这里用户不希望0索引上有“A”,而是希望索引上有一个作为它的值。
NSMutableArray *letters = [[reponseObject[@"letters"] allKeys] mutableCopy];