Я знаю, что у Android есть парсер JSON, запеченный, но мне было интересно, стоит ли использовать что-то, предлагающее лучшую производительность (например, Jackson - см. http://jackson.codehaus.org/)? Кто-нибудь пробовал это?Замените стандартный парсер Android JSON для лучшей производительности?
ответ
Ну, вот couple из links, сравнивая производительность Jackson JSON с существующими JSON, SAX и протоколами. По словам автора, Джексон быстрее SAX или встроенного JSON и примерно равен протокольным буферам. Эта последняя часть звучит немного подозрительно, но, несмотря на это, безусловно, Джексон работает на Android и может стоить каких-то экспериментов.
Я не проверял размер JAR. Если он огромен, если вы не умираете за дополнительную производительность JSON, это может не стоить космического удара.
Да, размер файла определенно в моем списке возможных ограничений. Я думаю, если бы я пережевывал много JSON в моем приложении, возможно, стоит добавить Джексона, но теперь я буду придерживаться стандартного JSON. – Eno
Поздний ответ, но он все еще может помочь. Я использую Jackson для разбора JSON из Twitter, а также сохраняю Maps
в базе данных. Картирование данных в Джексоне просто замечательно. Возможность сопоставить JSON напрямую с объектом является удивительной и делает все намного более чистым.
Даже если вы просто разбираете сопоставление данных простых ответов, вы можете сделать свой код более чистым (и более эффективным). Для меня это находчивость, что мне не нужно писать логику разбора для каждого типа функции api Twitter.
Спасибо за эту обратную связь - отлично, если понадобится другой инструмент в сундуке. – Eno
Просто еще один взгляд на эти синтаксические анализаторы. Я просматривал Google IO на 2009 год, и есть действительно хорошие разговоры об эффективном использовании батареи для разработчиков приложений.
Вот ссылка на этот разговор: link
Теперь, как в ток встроенного батюшкой для андроида является дерево основе, и они должны быть неэффективны, когда речь идет о жизни батареи. Кто-нибудь действительно изучил это.
Чтение этой дискуссии кажется, что парсер Джексона, кажется, побеждает во всем. Его почти одинаково быстро, если не больше, чем встроенный, а также его Event/Stream, в отличие от дерева, которое лучше с точки зрения использования батареи.
Просто, хотя я хотел поделиться и получить некоторые мнения по этому поводу.
Я использую jackson json для реализации моего приложения для Android, которое общается с сервером через json-rpc. Мне нравится использовать его для сериализации/десериализации json-rpc-запросов и ответов и объектов для передачи данных. Я использую 2.0 версию Jackson-json. Я поместил в свой путь сборки два баночки: jackson-databind-2.0.0.jar, jackson-core-2.0.0.jar и jackson-annotations-2.0.0.jar.
На стороне примечания: Есть ли реализация json-rpc для андроида. отдельный json-rpc и http-трафик будут хорошими. У меня много googled, bu не нашел хорошего генератора json-rpc, json serializer/deserializer и для транспорта я поеду с андроидным запросом.
Поскольку API 11, есть в Android
Спасибо! Я не заметил, что это было, так как это не было в пакете JSON – christophercotton
- 1. Замените вложенный foreach для лучшей производительности.
- 2. лучшей производительности для алгоритма
- 3. mapply для лучшей производительности
- 4. Реструктуризация БД для лучшей производительности
- 5. Дизайн моделей для лучшей производительности
- 6. Построение DB для лучшей производительности
- 7. Android JSON парсер Массив
- 8. Замените стандартный распределитель STL
- 9. Достижение лучшей производительности БД
- 10. JSON парсер для одного предмета в Android
- 11. `статические 'и` нестатические` поля для лучшей производительности в java Android
- 12. JSON парсер для J2ME
- 13. JSON парсер для Cocoa
- 14. Что лучше делать для лучшей производительности?
- 15. Физически кластер таблицы MYSQL для лучшей производительности
- 16. Модуль оптимизации Node.js для лучшей производительности
- 17. Векторизация R-loop для лучшей производительности
- 18. MySQL структура БД для лучшей производительности
- 19. «группа» результаты MySQL для лучшей производительности PHP
- 20. Ссылки для лучшей производительности новых спецификаций JSF
- 21. Оптимизация javascript/jQuery для лучшей производительности
- 22. Кэширование сделанной страницы для лучшей производительности
- 23. Сервер для лучшей производительности с Zend
- 24. Кэширование результатов таблицы для лучшей производительности ... как?
- 25. DllImport или LoadLibrary для лучшей производительности
- 26. Настройки конфигурации Mysql (InnoDB) для лучшей производительности?
- 27. Улучшите этот SQL-запрос для лучшей производительности
- 28. Оптимизированная конфигурация Eclipse для лучшей производительности
- 29. Как заменить getImageData & putImageData для лучшей производительности?
- 30. Определение лучшей структуры таблицы для производительности MySQL
Я никогда не имел проблем с скоростью JSON парсер Android это stream json parser. У меня даже есть файл JSON размером 41kb в одном из моих приложений, и он загружается на пару сотен миллисекундов в G1 (это просто нормально, так как его нужно запускать только один раз, когда приложение загружается). –
Абсолютная скорость разговоров вполне может быть приемлемой. По-прежнему полезно учитывать, что на обычных настольных процессорах скорость разбора JSON составляет порядка десятков мегабайт - файл 41 kb будет выполнен за миллисекунду или около того.Даже при более медленных процессорах, которые система Android часто имеет, сто миллисекунд довольно медленный, относительно быстрых альтернатив. Итак, правильный инструмент для работы. Для случайного использования (например, чтение в файле конфигурации при запуске) встроенные обработчики обычно достойны. По-прежнему полезно знать, что есть возможности для улучшения, если этого требуют требования к использованию. – StaxMan