Приложение для iPhone получает объект JSON с веб-сайта PHP.
Объект на сайте PHP имеет несколько свойств, которые являются целыми числами.
Свойства, извлеченные из базы данных, возвращаются из базы данных (где они хранятся как INT
) в JSON выглядят так: "seatedplayers":"3"
Свойства, измененные в коде PHP, в JSON выглядят так: "currentseat":1
В моем Obj-c я использую NSNumberFormatter, чтобы правильно отформатировать их следующим образом:
[numFormatter numberFromString:[jsonObject objectForKey:@"seatedplayers"]];
(jsonObject - это NSDictionary
)
Этот код отлично работает для свойств с кавычками вокруг значения, но не для остальных. Если я добавлю stringValue
в мой код Objective C, он будет работать со свойствами без кавычек, но не со свойствами с кавычками.
Теперь моя большая проблема в том, что этому приложению нужно будет общаться с сайтами, которые я не буду писать лично, так какой код в Objective-C я мог бы написать для обработки любого экземпляра?
EDIT
Вот как я получаю NSDictionary jsonObject.
- (NSDictionary *) getJSONObjectFromWebAddress:(NSString *) address {
// Prepare the URL Request
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:address]];
// Perform the request, expecting JSON back
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSError *error;
SBJsonParser *parser = [[SBJsonParser new] autorelease];
NSDictionary *jsonObject = [parser objectWithString:responseString error:&error];
if (!jsonObject) {
NSLog(@"%@", error);
}
[responseString release];
return jsonObject;
}