@brillout/json-serializer
v0.5.13
Published
Same as JSON but with added support for `Date`, `undefined`, `Map`, `Set`, and more.
Downloads
130,748
Readme
@brillout/json-serializer
Same as JSON but with added support for:
Date
undefined
Set
Map
BigInt
RegExp
NaN
Infinity
JSON is a good serializer for JavaScript values but
is lacking some JavaScript types such as Date
:
!INLINE /examples/date_json.js --hide-source-path
Whereas with @brillout/json-serializer
:
!INLINE /examples/date_json-serializer.js --hide-source-path
Contents
Usage
!INLINE /examples/simple.js --hide-source-path
Full Example
Example exposing all differences between JSON and @brillout/json-serializer
.
!INLINE /examples/json-serializer.js
To run the example:
$ git clone [email protected]:brillout/json-serializer
$ cd json-serializer
$ npm install
$ npm run self-link
$ node ./examples/json-serializer.js
The npm run self-link
is required to be able to self require('@brillout/json-serializer')
.
How it Works
Let's see how @brillout/json-serializer
serializes an object:
!INLINE /examples/inspect.js
@brillout/json-serializer
is based on JSON while using prefixed strings for unsupported types.
@brillout/json-serializer
uses the native JSON.parse
and JSON.stringify
functions while modifying the serialization of unsupported types.