Ускорьте объекты JSON - PullRequest
       13

Ускорьте объекты JSON

4 голосов
/ 30 июня 2011

Я использую библиотеку org.json. * Для преобразования результата моих веб-сервисов (очевидно, json) в объекты json. Моя проблема в том, что конструкторам JSONObject и JSONArray требуется много времени для создания объектов. Я не передаю очень большой объем данных (где-то от 1 до 100 элементов массива с 3-5 ключами каждый), но даже при 4 или 5 для конструктора требуется несколько секунд.

Есть ли способ ускорить это? Есть ли более быстрая библиотека, которую я мог бы использовать?

Там не так много кода, чтобы показать.

JSONArray arrayjson = new JSONArray(json);

Где json - это строка.

Ответы [ 2 ]

3 голосов
/ 03 июля 2011

Согласно результатам производительности при https://github.com/eishay/jvm-serializers/wiki, для сериализации со связью данных со строками, например, gson.toJson (myObject), Gson более чем в 10 раз медленнее, чем Джексон. FastJSON победил Джексона в этом же тесте на 2-3%.

Производительность десериализации аналогична: Gson в 9 раз медленнее, чем Джексон, а FastJSON примерно на 0,5% быстрее, чем Джексон.

Примечание: текущие результаты испытаний использовали Gson 1.6. С Gson 1.7.1 производительность привязки данных улучшилась на 10-15% по сравнению с Gson 1.6 (но ручное и ручное / древовидное решения не показали улучшения). Мы надеемся, что результаты будут скоро обновлены.

3 голосов
/ 01 июля 2011

Вы можете попробовать gson . Эта статья , кажется, указывает на то, что она имеет довольно хорошую производительность на Android по сравнению с другими альтернативами. Джексон может быть другой хорошей альтернативой.

...