Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/a179346/json-sizeof

Get the byte size of an object after JSON.stringify
https://github.com/a179346/json-sizeof

bytes javascript json json-byte json-size json-sizeof nodejs npm npm-package object object-byte object-size size sizeof typescript

Last synced: 12 days ago
JSON representation

Get the byte size of an object after JSON.stringify

Awesome Lists containing this project

README

        


⭕ json-sizeof ⭕



Documentation


Documentation


Documentation


Maintenance


License: MIT


> Get the byte size of an object after JSON.stringify

## 📩 Installation
```
npm i json-sizeof
```

## 🔗 Links
[npm package](https://www.npmjs.com/package/json-sizeof)


[Github page](https://github.com/a179346/json-sizeof)

## 📋 Usage
#### Example
```js
const { jsonSizeOf } = require('json-sizeof');

const obj = {
str1: 'I am a string!',
obj1: {
str2: 456,
obj2: null,
obj3: undefined
},
};

const bytes = jsonSizeOf(obj);
// expected 57
```

## 📌 Why
jsonSizeOf(obj) equals to Buffer.byteLength(JSON.stringify(obj)).


but is **faster** and **less likely to cause "Javascript heap out of memory"**
```js
const obj = {};
for (let i = 0;i < 8000000;i++) {
obj['test' + i] = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
}

// expected: 342888891
jsonSizeOf(obj);

// The following line will cause "JavaScript heap out of memory" fatal error
// if you do not maually increase the memory usage of node app.
Buffer.byteLength(JSON.stringify(obj));
```