web-dev-qa-db-fra.com

Javascript Json compressé

Actuellement, j'envoie JSON à partir d'un message Ajax au serveur qui est ensuite converti en objets à l'aide du Jackson Mapper.

Le format est comme ça

{"id":"780710","folderID":"42024","displayOrder":2},{"id":"780724","folderID":"42024","displayOrder":3}

Quelle est la meilleure bibliothèque JavaScript pour compresser ces données et le mappeur Jackson pourra-t-il gérer le nouveau format?

27
rayray

Comme l'a dit @JamWaffles, c'est le meilleur que JSON puisse faire en ce qui concerne la compression. Et dans votre cas (la ligne de code que vous avez fournie), la compression supplémentaire peut être excessive.

Mais si vous avez des réponses plus importantes et que vous souhaitez enregistrer ces octets, jetez un œil à

ou

Ils ne sont pas pas JSON, mais ils sérialisent les données dans un format plus petit (dans la plupart des cas).

12
Beat Richartz

Pourquoi ne pas simplement activer la compression gzip prise en charge par le navigateur et les serveurs Web? Cela compressera très bien la taille des données, avec très peu de travail explicite.

38
StaxMan

Selon ce Tweet par modec , la compression de JSON est en effet possible, et fournit meilleur résultat que les alternatives testées .

Il est possible de gérer le format JSON avec nodejs , et un récent projet open-source vient d'implémenter un algorithme de compression très rapide pour nodejs .

2
Cyan

JsonZipper est également génial pour plusieurs objets répétés similaires. Il vous permet d'utiliser un objet dans son état ' zippé en extrayant uniquement un objet par index du tableau, donc en termes de mémoire, il est génial car il le sera toujours n'ont extrait que ce que vous voulez .

Oh et vous pouvez réellement compresser en déplacement , donc en gros lorsque vous générez des objets de données, vous pouvez les compresser, vous laissant toujours une petite mémoire empreinte.

La plupart des autres algorithmes de compression doivent compresser et extraire toutes les données à la fois.

Remarque cependant: si vos données sont une collection homogène (exactement les mêmes clés, alors hpack sera mieux.)

2
Gerardlamo

Vous pouvez utiliser par exemple jsonh , successeur de hpack qui a des références sur optimisation des ressources web . Cela aide, mais le même site vous montrera également que gzip seul suffira probablement.

Donc, pour être clair, gzip fonctionne mieux que hpack, mais les combiner ajoute un peu plus de compression.

1
Mark