Учебник по разбору JSON для iPhone / iOS [закрыт]

102

В качестве учебного опыта я хочу сделать приложение iPhone, которое вызывает веб-сервер/веб-сервис, получает ответ JSON и использует этот ответ для заполнения строк UITableView (при условии, что он преобразует JSON в NSArray сначала).

Кто-нибудь знает что-нибудь полезное?

Теги:
uitableview
iphone

6 ответов

173
Лучший ответ

Вам понравится это framework.

И вам понравится этот инструмент.

Чтобы узнать о JSON, вам может понравиться этот ресурс.

И вам, вероятно, понравится этот учебник.

  • 0
    Вы абсолютно правы в том, что я люблю это тоже @icnivad, большое спасибо за лидерство, это очень полезно.
  • 0
    , Упомянутый вами учебник требует DMG-файл, но я не смог найти DMG-файл по ссылке, которую вы упомянули для фреймворка. эта ссылка направлена на github и содержит zip-файл с различными классами и примерами, но я не понимаю, какую часть мне нужно вставить в мой проект. Не могли бы вы мне помочь?
Показать ещё 6 комментариев
59

В iOS 5.0 Apple предоставляет класс NSJSONSerialization "для преобразования JSON в объекты Foundation и преобразования объектов Foundation в JSON". Нет внешних фреймворков для интеграции и в соответствии с эталонами ее производительность неплоха, значительно лучше, чем SBJSON.

  • 0
    Эти слова великолепны, если не планируется поддержка iOS 4 и более ранних версий.
  • 18
    Поскольку сейчас 2012 год, а iOS6 неминуема - это скорее всего так.
Показать ещё 2 комментария
6
SBJSON *parser = [[SBJSON alloc] init];

NSString *url_str=[NSString stringWithFormat:@"Example APi Here"];

url_str = [url_str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url_str]];

NSData *response = [NSURLConnection sendSynchronousRequest:request  returningResponse:nil error:nil];

NSString *json_string = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding]

NSDictionary *statuses = [parser2 objectWithString:json_string error:nil];

 NSArray *news_array=[[statuses3 objectForKey:@"sold_list"] valueForKey:@"list"];

    for(NSDictionary *news in news_array)
{

    @try {
        [title_arr addObject:[news valueForKey:@"gtitle"]];    //values Add to title array

    }
    @catch (NSException *exception) {

        [title_arr addObject:[NSString stringWithFormat:@""]];
    }
  • 0
    Спасибо за предоставленный пример кода!
4

Это учебник, который я использовал для ответа на darrinm. Он обновлен для ios5/6 и очень прост. Когда я буду достаточно популярен, я удалю это и добавлю его в качестве комментария к его ответу.

http://www.raywenderlich.com/5492/working-with-json-in-ios-5

http://www.touch-code-magazine.com/tutorial-fetch-and-parse-json-in-ios6/

4

попробуйте эту самую быструю структуру JSON JSONKit. это быстрее, чем нормальная структура JSON.

  • 1
    Вы правы, это молниеносно!
  • 0
    Лучший JSON Framework +1
1

Вот ссылка на мой учебник, в котором вы просматриваете:

  • создание веб-службы JSON WCF с нуля (и проблемы, которые вы хотите избежать)
  • адаптация его к чтению/записи данных SQL Server
  • получить приложение iOS 6 для использования сервисов JSON.
  • с помощью веб-служб JSON с JavaScript

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

Весь исходный код предоставляется бесплатно. Наслаждайтесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню