Я отправляю относительно много данных из мобильного приложения (до 1000 объектов JSON), которые я обычно кодирую следующим образом:
[{
id: 12,
score: 34,
interval: 5678,
sub: 9012
}, {
id: ...
}, ...]
Я мог бы уменьшить полезную нагрузку, отправив массив массивов вместо этого:
[[12, 34, 5678, 9012], [...], ...]
, чтобы сэкономить место в именах свойств и воссоздать объекты на сервере (поскольку схема фиксирована или, по крайней мере, это контракт между сервером и клиентом).
Полезная нагрузка затем отправляется в запросе POST
, скорее всего, через соединение 3G (или может быть Wi-Fi).
Похоже, я экономлю пропускную способность, используя вложенные массивы, но я не уверен, что это заметно, когда применяется gzip, и я не уверен, как точно и объективно измерить разницу .
С другой стороны, вложенные массивы не кажутсяхорошей идеей: они менее удобочитаемы и, следовательно, труднее обнаружить ошибки при отладке. Кроме того, поскольку мы спускаем читабельность в унитаз, мы можем просто сгладить массив, поскольку каждый дочерний массив имеет фиксированное количество элементов, сервер может просто разрезать его на части и снова реконструировать объекты.
Приветствуется любой дополнительный материал для чтения по этой теме.