Заменить стандартный JSON-анализатор Android для лучшей производительности? - PullRequest
9 голосов
/ 23 марта 2010

Я знаю, что в Android есть встроенный парсер JSON, но мне было интересно, стоило ли использовать что-то, что предлагало бы лучшую производительность (например, Джексон - см. http://jackson.codehaus.org/)? Кто-нибудь пробовал это?

Ответы [ 5 ]

7 голосов
/ 23 марта 2010

Что ж, вот пара из ссылок , сравнивающая производительность JSON Джексона с существующими JSON, SAX и буферами протокола.По словам автора, Джексон работает быстрее, чем SAX или встроенный JSON, и примерно на уровне протокольных буферов.Эта последняя часть звучит немного подозрительно, но, несмотря на это, определенно кажется, что Джексон работает на Android и может стоить некоторых экспериментов.

Хотя я не проверял размер JAR.Если он огромен, если только вы не жаждете дополнительной производительности JSON, это может не стоить космического удара.

5 голосов
/ 01 сентября 2012

Начиная с API 11, в Android

есть потоковый анализатор json
4 голосов
/ 27 марта 2010

Поздний ответ, но он все еще может помочь. Я использую Джексона для анализа JSON из Twitter, а также сохраняю Maps в базе данных. Отображение данных в Джексоне просто замечательно. Возможность отображать JSON непосредственно на объект является удивительной и делает все намного чище.

Даже если вы анализируете только простые ответы, отображение данных может помочь вам сделать ваш код чище (и более эффективным). Для меня это находка, что мне не нужно писать логику синтаксического анализа для каждого типа API-функции Twitter.

0 голосов
/ 06 апреля 2012

Я использую Jackson JSON для реализации моего Android-приложения, которое взаимодействует с сервером через json-rpc. Я хотел бы использовать его для сериализации / десериализации запросов и ответов json-rpc и объектов для передачи данных. Я использую версию 2.0 Джексона-Джсона. Я добавил в свой путь сборки два jar-файла: jackson-databind-2.0.0.jar, jackson-core-2.0.0.jar и jackson-annotations-2.0.0.jar.

На заметке: есть ли реализация json-rpc для android. Отдельный трафик json-rpc и http был бы хорош. Я много гуглил, но не нашел хорошего генератора json-rpc, сериализатора / десериализатора json и для транспорта я пойду с android-запросом.

0 голосов
/ 03 июня 2011

Еще один взгляд на эти парсеры. Я просматривал Google IO на 2009 год, и там действительно хорошие разговоры об эффективном использовании батареи для разработчиков приложений.

Вот ссылка на этот доклад: ссылка

Теперь, согласно разговору, встроенная функция для андроида - Tree Based, и они должны быть неэффективными, когда дело доходит до времени автономной работы. Кто-нибудь действительно смотрел на это.

Прочитав эту дискуссию, парсер Джексона кажется победителем во всем. Он почти такой же быстрый, если не больше встроенного, а также основанный на событиях / потоках в отличие от древовидного, что лучше с точки зрения использования батареи.

Хотя я хотел бы поделиться и получить некоторые мнения по этому поводу.

...