Как правильно проанализировать данные из ответа GET? - PullRequest
2 голосов
/ 13 декабря 2011

Я пытался проанализировать данные ответа с веб-сервера.Я использую Xcode 4.2.

NSLog(@"Establishing connection...");
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:@"example.com/test.php"]]; [request setHTTPMethod:@"GET"];
accept = @"Kokokoko";
NSLog(@"Adding value for HTTP Header");
[request addValue:accept forHTTPHeaderField: @"Accept"];

NSLog(@"Sending request...");
//send request & get response
returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSLog(@"Request sent");

Затем я хочу использовать returnData для анализа ответа JSON.Это должно быть

["Test", "42", "OK"]

Так что я пытался использовать NSDictionary, JSONValue и другие приемы, но мне это не удалось.Может быть, есть простое решение этой проблемы?

1 Ответ

5 голосов
/ 13 декабря 2011

Если вы ожидаете, что ваш сервер вернет такую ​​строку:

["Test", "42", "OK"]

Тогда значением JSONValue будет NSArray (не NSDictionary).Попробуйте это:

NSString* responseString = [[[NSString alloc] initWithData:returnData encoding: NSUTF8StringEncoding] autorelease];

NSLog(@"Response String: %@", responseString);

// Supposing that you are using SBJson, the parsing part may look like this:
//
NSArray* responseArray = [returnString JSONValue];

NSLog(@"Response Array: %@", responseArray);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...