Simple and non-recursive JSON parse/stringify library.
The vuvuzela is a coarse instrument, but it's lightweight, and it gets the job done.
This module will use up tons of memory, but unlike the native
This is not a streaming library, so unlike oboe/clarinet, it reads the whole thing into memory at once. It's also quite a bit slower than the native JSON methods. Use at your own risk!
Browser builds are available in the
Goals
- No recursion
JSON.parse
and JSON.stringify
methods may throw if an object is deeply nested.- Simplicity
while
loop and a stack.- Small footprint
Description

The vuvuzela is a coarse instrument, but it's lightweight, and it gets the job done.
This module will use up tons of memory, but unlike the native
JSON
methods or json3, it'll never throw a "maximum call stack size exceeded" exception. Your JSON objects can be as deeply nested as you like.This is not a streaming library, so unlike oboe/clarinet, it reads the whole thing into memory at once. It's also quite a bit slower than the native JSON methods. Use at your own risk!
Usage
$ npm install vuvuzela
var vuvuzela = require('vuvuzela')
var asString = vuvuzela.stringify({hello: 'world'}); // '{"hello":"world"}'
var asJson = vuvuzela.parse('{"hello": "world"}'); // {hello: 'world'}
Browser builds are available in the
dist/
folder. They'll create a window.vuvuzela
object you can use.Limitations
At the top level, it will currently only parse objects and arrays, not arbitrary values like booleans, strings, numbers, andnull
.Testing
Unit tests:$ npm test
Coverage tests:$ npm run coverage
Building
$ npm run build