estoy presentando relativamente gran cantidad de datos de una aplicación móvil (hasta 1000 objetos JSON), que normalmente me codificar de esta manera:¿Vale la pena intentar reducir el tamaño de JSON?
[{
id: 12,
score: 34,
interval: 5678,
sub: 9012
}, {
id: ...
}, ...]
que podría hacer la carga útil más pequeña mediante la presentación de una matriz de matrices en su lugar:
[[12, 34, 5678, 9012], [...], ...]
para ahorrar algo de espacio en los nombres de las propiedades, y volver a crear los objetos en el servidor (como el esquema es fijo, o por lo menos es un contrato entre el servidor y el cliente).
La carga útil se presentó en una solicitud POST
, probablemente a través de una conexión 3G (o podría ser wifi).
Parece que estoy ahorrando un poco de ancho de banda mediante el uso de matrices anidadas, pero no estoy seguro de que es notable cuando se aplica gzip, y no estoy seguro de cómo medir de forma precisa y objetiva la diferencia.
Por otro lado, las matrices anidadas no se sienten como una buena idea: son menos legibles y por lo tanto más difíciles de detectar errores durante la depuración. Además, como estamos descargando legibilidad por el inodoro, podríamos simplemente aplanar la matriz, ya que cada matriz hija tiene una cantidad fija de elementos, el servidor podría simplemente cortar y reconstruir los objetos nuevamente.
Cualquier otro material de lectura sobre este tema es muy apreciado.
¿Qué lenguaje de programación usa en el servidor y el cliente? Por qué lo pregunto: dado que está considerando eliminar JSON, también podría usar una biblioteca que abstraiga la serialización/deserialización y todo lo que necesita importar son los objetos del lenguaje de programación nativo. – ArjunShankar
@ArjunShankar Python (podría estar portado a Go en el futuro), en App Engine. –