Доброго дня. Такой вопрос, имеется АПИ, передающая очень большой json со списком объектов на клиент (объекты сами не маленькие). Клиент (браузер) потом их парсит и отрисовывает у себя. Соответственно, 2 вопроса:
1) Как можно уменьшить объем джсона, чтобы сэкономить на трафике и времени сериализации\десериализации? Можно конечно использовать не джсон , а чтонить типа Protobuf, но, пока не хотелось бы. Как-то использовали чтото типа костыля, заменяя объекты на массивы, соотв. вместо массива объектов
{
"veryLongPropertyName1": "blabla1",
"veryLongPropertyName2": "blabla2"
...
}
получался массив массивов:
["blabla1", "blabla2", ....]
Вроде у ВК такую штуку подсмотрели. но тут клиент должен знать, какая пропертя стоит под каким индексом в массиве, да и выглядит костыльно как-то. хотя трафик экономит очень хорошо, если пропертей много и названия длинные. Может кто-то решал подобную проблему у себя на проектах?
2) Если говорить про джсон, может ли он писаться в респонс стрим так, чтобы клиент мог начинать парсинг до того, как получил весь респонс? наподобие как вот эта либа читает -
http://oboejs.com/. там вроде используется контент тайп application/stream+json . Т.е. вопрос в том, может ли такое стандартные томкат, спринг и обджект маппер делать? т.е. делает ли он flush в респонс периодически как-то или только в самом конце? Опять же интересно, был ли у кого-то подобный опыт
Спасибо