Сравнение JSON Parser для Objective-C (JSON Framework, YAJL, TouchJSON и т. Д.) - PullRequest
141 голосов
/ 13 февраля 2010

Насколько я знаю, есть три анализатора JSON для Objective-C, JSON Framework , YAJL и Touch JSON . Тогда эти три будут иметь свои особенности.

Например:
YAJL может использоваться как парсер стиля SAX.
JSON Framework имеет относительно долгую историю и широко используется.
Сенсорный JSON анализирует NSData вместо NSString.

Кроме того, насколько я тестировал, результат сравнения производительности выглядит следующим образом:
[быстрый] YAJL> JSON Framework> Сенсорный JSON [медленный].

Если вы знаете плюсы и минусы этих парсеров JSON, не могли бы вы мне сказать?
Наконец, если вы знаете какой-либо другой JSON Parser, пожалуйста, сообщите мне.

Ответы [ 7 ]

59 голосов
/ 04 декабря 2010

Если вы ищете скорость, взгляните на JSONKit . Это (обычно) намного быстрее, чем уже упоминавшиеся библиотеки JSON, часто на порядок быстрее. И из-за «недавно созданного экземпляра кеша объектов» он (опять же, как правило) также будет использовать меньше памяти.

12 голосов
/ 11 декабря 2011

Учитывая сравнение, которое я сделал , самая быстрая библиотека - JSONKit, за которой следуют NSJSONSerialization (теперь общедоступный API) и NextiveJSON. SBJSON и TouchJSON немного медленнее, чем предыдущие 3 библиотеки.

Сравнение было сделано с использованием iPhone 4S с iOS 5.0.1.

5 голосов
/ 27 сентября 2010

Также есть этот синтаксический анализатор :

Я не помню, как я наткнулся на этот, но он выглядел легким и простым, поэтому я подумал, что он соответствует моим потребностям. Я событие разветвил его, чтобы добавить инициализацию из NSData. Так как мне нужно было разобрать небольшие ответы, мне было все равно, что делать. Хотя было бы интересно узнать, как это работает.

3 голосов
/ 27 августа 2012

Я думаю, что JSONKit быстрее, чем YAJL, а YAJL быстрее, чем Touch. JSON и класс IOS5. NSJSONSerialization класс намного быстрее. NSJSONSerialization не нужно использовать какие-либо сторонние API.

2 голосов
/ 10 ноября 2010

Посмотрите на этот пост . <30 символов>

0 голосов
/ 03 января 2012

Если вы ищете сериализатор из NSObject в JSON и наоборот, вы можете оформить заказ OBJC JSONSerializer

0 голосов
/ 11 февраля 2011

Почему бы не взглянуть на тесты akosma для парсеров, где он сравнивает разные виды парсеров.Если один парсер отсутствует, вы также можете добавить его в тесты, поскольку его код имеет открытый исходный код.

iPhoneWebServicesClient

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...