Насколько мне известно, существует три парсера JSON для Objective-C, JSON Framework , YAJL и Touch JSON . Тогда у этих троих будут свои особенности.
Например:
YAJL можно использовать как парсер стиля SAX.
JSON Framework имеет относительно долгую историю и широко используется.
Touch JSON анализирует NSData вместо NSString.
Кроме того, насколько я тестировал, результат сравнения производительности выглядит следующим образом:
[быстро] YAJL> JSON Framework> Touch JSON [медленно].
Если вы знаете плюсы и минусы этих парсеров JSON, не могли бы вы мне сказать?
Наконец, если вы знаете какой-либо другой парсер JSON, сообщите мне.
iphone
objective-c
json
завтра
источник
источник
Ответы:
Если вам нужна скорость, обратите внимание на JSONKit . Это (обычно) намного быстрее, чем уже упомянутые библиотеки JSON, часто на порядок быстрее. И из-за того, что это «кэш недавно созданных объектов», он (опять же, обычно) также использует меньше памяти.
источник
Учитывая проведенное мной сравнение , самой быстрой библиотекой является JSONKit, за которой следуют NSJSONSerialization (теперь общедоступный API) и NextiveJSON. SBJSON и TouchJSON немного медленнее, чем предыдущие 3 библиотеки.
Сравнение проводилось на iPhone 4S с iOS 5.0.1.
источник
Еще есть парсер :
Не помню, как я наткнулся на этот, но он выглядел легким и простым, поэтому я подумал, что он подходит для моих нужд. Я его разветвил, чтобы добавить инициализацию из NSData. Поскольку мне нужно было разбирать небольшие ответы, меня не волновала производительность. Хотя было бы интересно узнать, как это работает.
источник
Я думаю, что JSONKit быстрее, чем YAJL, а YAJL быстрее, чем Touch JSON, а класс IOS5 NSJSONSerialization намного быстрее. NSJSONSerialization не требует использования сторонних API.
источник
Посмотри на этот пост . <30 символов>
источник
Если вы ищете сериализатор из NSObject в JSON и наоборот, вы можете проверить OBJC JSONSerializer
источник
Почему бы не взглянуть на тесты akosma для парсеров, где он сравнивает разные типы парсеров. Если один парсер отсутствует, вы также можете добавить его в тесты, поскольку его код имеет открытый исходный код.
iPhoneWebServicesClient
источник