Руководство по синтаксическому анализу 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

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


1

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.