node package manager


Streaming JSON.stringify()

NPM version Build status Test coverage Dependency Status License Downloads

Similar to JSONStream.stringify() except it is, by default, a binary stream, and it is a streams2 implementation.


The main use case for this is to stream a database query to a web client. This is meant to be used only with arrays, not objects.

var Stringify = require('streaming-json-stringify')
app.get('/things', function (req, res, next) {
  res.setHeader('Content-Type', 'application/json; charset=utf-8')

will yield something like



  • The stream always starts with '[\n'.
  • Documents are separated by '\n,\n'.
  • The stream is terminated with '\n]\n'.


By default, json-stringify-safe is used to convert objects into strings. This can be configured with options.stringifier.



Returns a Transform stream. The options are passed to the Transform constructor.

JSON.stringify options

You can override these:

var stringify = Stringify()
stringify.replacer = function () {} = 2
stringify.opener = '['
stringify.seperator = ','
stringify.closer = ']'
stringify.stringifier = JSON.stringify