Руководство по синтаксическому анализу JSON на iPhone / iOS [закрыто]

103

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

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

Кейси Флинн
источник

Ответы:

164

Вам понравится этот фреймворк .

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

Для изучения JSON вам может понравиться этот ресурс .

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

Тодд Хопкинсон
источник
Вы абсолютно правы, что мне это тоже нравится @icnivad, большое спасибо за руководство, это очень полезно.
Кейси Флинн
. Упомянутый вами учебник требует файла DMG, но я не смог найти ни одного файла DMG в ссылке, которую вы упомянули для framework. эта ссылка направлена ​​на github и содержит zip-файл с различными классами и примерами, но я не понимаю, какую часть мне нужно вставить в свой проект. Не могли бы вы мне помочь?
алехин 04
2
Да, этот проект переехал на github. Получите это здесь: github.com/stig/json-framework .
Тодд Хопкинсон
Вам также, вероятно, понравится hurl.it
Каспар Хармер
Было бы неплохо, если бы эта штука SBJson была построена. Не удается мне с 44 ошибками в Xcode 4 в OS X Lion.
Sarah Vessels,
57

Начиная с iOS 5.0 Apple предоставляет класс NSJSONSerialization «для преобразования JSON в объекты Foundation и преобразования объектов Foundation в JSON». Никакие внешние рамки не включать и в соответствии с критериями его производительность довольно хорошо, значительно лучше , чем SBJSON.

Дарринм
источник
Эти слова хороши, если не планируется поддерживать iOS 4 и более ранние версии.
Санджай Чаудхри,
18
Поскольку сейчас 2012 год, и iOS6 неизбежно - это более вероятно.
Abizern
1
Результат теста - «404 Not Found».
Pang
Некоторые обновленные тесты, показывающие NSJSONSerialization как самую быструю: stackoverflow.com/questions/16218583/jsonkit-benchmarks
darrinm
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:@""]];
    }
чандрика
источник
Благодарим за предоставленный образец кода!
Flea
4

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

Hiren
источник
1
Вы правы, это молниеносно!
Иван Фиораванти
Лучший фреймворк JSON +1
4

Это руководство, которое я использовал, чтобы получить ответ Дарринма. Он обновлен для 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/

Cloudurfin
источник
1

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

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

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

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

Майк Гледхилл
источник