У меня есть JSON Object , который мне нужен, чтобы убедиться, что размер меньше 30 КБ :
var obj = {
"values":[
{"key1": "Lorem ipsum..."},
...
{"key100": "Lorem ipsum..."} // can be any size
],
"message": "Lorem ipsum...", // can be any size
"meta": "lorem ipsum..." // can be any size
}
Я мог бы использовать JSON.stringify(obj);
и просто обрезатьстрока, но это может потенциально вырезать целые значения (aka. meta, message) в объекте.Вместо этого мне нужно обрезать каждое значение объекта по отдельности, если размер объединенного строкового объекта превышает 30 КБ.
Пример: Каждое значение имеет следующие размеры:
obj.values // Size: 2kb
obj.message // Size: 28kb
obj.meta // Size: 4kb
Мне нужно усечь obj.message
до 24 КБ
Пример 2 :
obj.values // Size: 80kb
obj.message // Size: 40kb
obj.meta // Size: 4kb
Мне нужно усечь obj.values
до 8,6, obj.message
вниз17.2.
Итак, я получу: 8.6kb (значения) + 17.2kb (сообщение) + 4kb (мета) ~ = 30kb или меньше.
Я работаю над этимиспользуя JavaScript .
Будет работать простая функция:
let truncateObj = (obj) => {
if(xyz){
{magic code}
}
return obj; // magically truncated object :)
}
Спасибо заранее за просмотр этого !!!