Size: a a a

2018 November 14

QH

Quantum Harmonizer in Peer Lab SPB
Daniil S
Раз зашёл разговор о сериализации, хотелось бы сказать, что парсить Json в Java класс, с помощью retrofit хоть и популярно, но контролировать поток - не, не , не. А это как по мне очень важно. Запихнул khttp в rx и передаю полученные данные в конструктор. Мне кажется такой подход более понятным , а не подкапотная магия всякая
Можешь рассказать, как ты делаешь? Я не понял.
источник

DS

Daniil S in Peer Lab SPB
Quantum Harmonizer
Можешь рассказать, как ты делаешь? Я не понял.
Есть библиотека khttp - с помощью которой можно в одну строку получить json от ресурса. Так как сетевые запросы в mainthread - forbidden. То это запрос я запускаю в Scheduleds.io а уже при эмитте моего Джейсона я достаю строго те данные, которые мне нужны и передаю в конструктор data class
источник

QH

Quantum Harmonizer in Peer Lab SPB
Daniil S
Есть библиотека khttp - с помощью которой можно в одну строку получить json от ресурса. Так как сетевые запросы в mainthread - forbidden. То это запрос я запускаю в Scheduleds.io а уже при эмитте моего Джейсона я достаю строго те данные, которые мне нужны и передаю в конструктор data class
Ну то есть ты руками разбираешь JSONObject'ы?
источник

KZ

Konstantin Zolotov in Peer Lab SPB
Daniil S
Есть библиотека khttp - с помощью которой можно в одну строку получить json от ресурса. Так как сетевые запросы в mainthread - forbidden. То это запрос я запускаю в Scheduleds.io а уже при эмитте моего Джейсона я достаю строго те данные, которые мне нужны и передаю в конструктор data class
А профит-то в чем? Moshi может сгенерить нужный для этого код, там ведь ничего кроме клея и бойлерплейта нет.
источник

DS

Daniil S in Peer Lab SPB
Да, мне 5 строк с одной ссылкой легче и понятней руками достать, чем либу подрубать целую
источник

DS

Daniil S in Peer Lab SPB
Насколько огромными должны быть Json чтобы целой либой его сериализовывать? Наперника все удобно представлено JsonArray по которому очень просто проитерироваться
источник

QH

Quantum Harmonizer in Peer Lab SPB
у нас 2000 строк такого, никому не пожелал бы
источник

DS

Daniil S in Peer Lab SPB
Теперь понял)
источник

KZ

Konstantin Zolotov in Peer Lab SPB
Daniil S
Насколько огромными должны быть Json чтобы целой либой его сериализовывать? Наперника все удобно представлено JsonArray по которому очень просто проитерироваться
Любой проект с больше чем одним запросом в сеть)
источник

DS

Daniil S in Peer Lab SPB
С другой стороны ведь может быть и так, что далеко не все данные из json необходимы, а тут получается при парсинге нужно под лишнию информацию области в памяти хранить
источник

DS

Daniil S in Peer Lab SPB
Иначе не запарсит, формат ведь не подойдёт
источник

QH

Quantum Harmonizer in Peer Lab SPB
Daniil S
Иначе не запарсит, формат ведь не подойдёт
неправда. всё зависит от настроек сериализатора
источник

QH

Quantum Harmonizer in Peer Lab SPB
а вот когда парсишь JSON в AST — всё-всё-всё попадает в память
источник

DS

Daniil S in Peer Lab SPB
С ast ещё не пробовал. Спасибо за инфу
источник

QH

Quantum Harmonizer in Peer Lab SPB
Daniil S
С ast ещё не пробовал. Спасибо за инфу
Ты же по сути используешь org.json.JSONObject и JSONArray? Это и есть AST.
источник

DS

Daniil S in Peer Lab SPB
Так и есть, но я как только данные необходимые достал из object и array. Сразу область под Джейсон = null
источник

DP

Denis Podlesnykh in Peer Lab SPB
> Сразу область под Джейсон = null
Это у вас такой garbage collector клевый в андроиде или это фича какая-то? Что нулы надо проставлять
источник

QH

Quantum Harmonizer in Peer Lab SPB
Denis Podlesnykh
> Сразу область под Джейсон = null
Это у вас такой garbage collector клевый в андроиде или это фича какая-то? Что нулы надо проставлять
ну если сунуть в статик, тогда надо потом null засеттить, но это ССЗБ
источник

DP

Denis Podlesnykh in Peer Lab SPB
🤔
источник

KZ

Konstantin Zolotov in Peer Lab SPB
Где-то, кстати, прям в андроидовских гайдах рекомендовали заналливать ссылки.
источник