Сделать ответы JSON еще меньше… просто идея

Просто мысль, правда ... и интересно, охватывает ли 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

10
задан Rune FS 26 October 2011 в 19:09
поделиться