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