JSON iOS строка для разбора - PullRequest
1 голос
/ 19 мая 2011
{"response":[33689822,64091979,69682048,74160161]}

-

- (void)requestCompleted:(ASIHTTPRequest *)request
{   
    NSString *responseString = [request responseString];
    NSLog(@"okRequest|| %@",responseString);

    SBJSON *parser = [[SBJSON alloc] init];

    // Prepare URL request to download statuses from Twitter

    // Get JSON as a NSString from NSData response
    NSString *json_string = [[NSString alloc] initWithString:responseString];

    // parse the JSON response into an object
    // Here we're using NSArray since we're parsing an array of JSON status objects
    NSArray *statuses = [parser objectWithString:json_string error:nil];

    // Each element in statuses is a single status
    // represented as a NSDictionary
    for (NSDictionary *status in statuses)
    {
        //all other func..
        NSLog(@"%@ ", status);///This func prints only "response"
    }
}

Как мне получить массив чисел в «ответе»?(33689822,64091979,69682048,74160161)

Ответы [ 3 ]

1 голос
/ 19 мая 2011

Вы можете анализировать данные JSON самостоятельно, или, лучше, использовать библиотеку, например TouchJSON, чтобы сделать это за вас.

1 голос
/ 19 мая 2011

Попробуйте это:

for (NSNumber *number in [statuses objectForKey:@"response"]) {
    NSLog(@"%@", number);
}
0 голосов
/ 19 мая 2011

Попробуйте использовать JSONFragmentValue напрямую.

NSString *response=[request responseString];
id usableResp = [response JSONFragmentValue];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...