Просто мысль, правда ... и интересно, охватывает ли Gzipped JSON это уже.
Но предположим, что у вас есть список игровых объектов в ответе:
game = {
name: 'Randomer Quest!',
description: 'Randomer's Quest is a brilliant game!',
activated: true,
points: 10,
thumb: 'randomer-quest.jpg'
};
Когда вы json_encode это кодируете, он становится 151 байт
:
{"games": [{"name":"Randomer Quest!","description":"Randomer's Quest is a brilliant game!","activated":true,"points":10,"thumb":"randomer-quest.jpg"}]}
Хорошо ... но что, если у вас есть список около 100 игр? Это примерно 13 913 байт
... но действительно ли нам нужно продолжать объявлять эти свойства?
Я знаю, что вы можете просто декодировать его и перебирать в цикле (магия), но что, если мы будем немного более разумными в этом отношении и объявим свойства в отдельном объекте, а затем получим массив данных? Нам придется предварительно заполнить свойства, которых обычно нет, но я все же думаю, что это того стоит.
Примерно так:
{
"games": {
p: ["name", "description", "activated", "points", "thumb"],
d: [
["Randomer Quest!", "Randomer's Quest is a brilliant game!", true, 10, "randomer-quest.jpg"],
["Randomer Quest!", "Randomer's Quest is a brilliant game!", true, 10, "randomer-quest.jpg"]
]
}
}
P - свойства, D - данные в массивах. Далее имеем: 9 377 байт
67% размера!
Хорошо, я знаю, что вы собираетесь сказать, что это ничего, но вы действительно видите запросы размером 40–100 КБ. И я думаю, что это огромная разница. Кто-нибудь уже использует что-то подобное? Возможно, у нас есть инструменты, которые уже делают это автоматически?
32bitkid в значительной степени сказал, что если вы собираетесь это сделать, вы можете просто обрезать его до формата CSV ... что имеет смысл ... это было бы около 9253 байта
66,5%.
"name", "description", "activated", "points", "thumb"
"Randomer Quest!", "Randomer's Quest is a brilliant game!", true, 10, "randomer-quest.jpg"
"Randomer Quest!", "Randomer's Quest is a brilliant game!", true, 10, "randomer-quest.jpg"
Я видел запросы JSON размером около 100 КБ, которые превратились в 66,5 КБ (потеря 33.5kb)
Как вы думаете?
Dom