Очень простой JSON для tableView (iOS)

Ну, я решил, что пришло время выучить новый навык, цель программирования - c. Мои знания по программированию очень минимальны, он состоит из PHP, немного HTML и немного MySQL. Я хочу взять JSON, созданный с помощью php, и заполнить представление таблицы iOS.

вот мой json.php:

<?php
$array = array(1,2,3,4,5,6,7,8,9,10);
$json = json_encode($array);
echo $json;
?>

Моя единственная проблема в том, что я понятия не имею, с чего начать, как использовать фреймворк JSONKit. https://github.com/johnezang/JSONKit/ Я бы предпочел использовать JSONKit по сравнению с другими альтернативами только потому, что кажется, что он имеет больше поддержки.

NSString *strURL = [NSString stringWithFormat:@"http://api.tekop.net/json.php"];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSLog(@"%@", strResult);

Мне удалось распечатать результаты страницы JSON в консоли отладки. Теперь мой единственный вопрос: что дальше? Я пытался найти некоторые учебники в Интернете, но все, что я мог найти, было что-то более продвинутый Джейсон Фразер. Для продвинутых для моих основных потребностей. Я знаю, что мои вопросы очень расплывчаты и открыты для множества разных ответов, но я решил, что это именно то место, где можно задавать подобные вопросы.

2 ответа

Решение

У iOS есть собственный анализ JSON, который теперь называется NSJSONSerialization.

http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html

Вы можете посмотреть. Я всегда использую это так

[NSJSONSerialization JSONObjectWithData:tmpData
                                       options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments 
                                         error:nil]

пример, изменив свой код:

NSString *strURL = [NSString stringWithFormat:@"http://api.tekop.net/json.php"];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSArray *arrayResult = [NSJSONSerialization JSONObjectWithData:dataURL
                                       options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments 
                                         error:nil];

NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

Следует отметить, что, если ваш json основан на массивах, используйте NSArray для сохранения результата. Если ваш json основан на хэше, используйте NSDictionary. (Надеюсь, я скажу это ясно, я не знаю связанных терминов, чтобы описать)

Что вы пробовали?

NSArray *array = [dataURL objectFromJSONData];
NSAssert([array isKindOfClass:[NSArray class]], @"This should be an array.");

for (NSNumber *value in array) {
    NSAssert([value isKindOfClass:[NSNumber class]], @"This should be a number.");

    NSLog(@"%@", value);
}
Другие вопросы по тегам