Parse [JSONLines](http://jsonlines.org) with Node.js.
npm install jsonlinesParse JSONLines with Node.js.
``sh`
npm install --save jsonlines
`javascript
var jsonlines = require('jsonlines')
var parser = jsonlines.parse()
parser.on('data', function (data) {
console.log('Got json:', data)
})
parser.on('end', function () {
console.log('No more data')
})
parser.write('{ "test": "This is a test!" }\n')
parser.write('{ "jsonlines": "is awesome" }')
parser.end()
`
`javascript
var jsonlines = require('jsonlines')
var stringifier = jsonlines.stringify()
stringifier.pipe(process.stdout)
stringifier.write({ test: 'This is a test!' })
stringifier.write({ jsonlines: 'is awesome' })
stringifier.end()
`
Returns a transform stream that turns newline separated json into a stream of
javascript values.
options is an optional object with the keys documented below.
Returns a transform stream that turns javascript values into a stream of newline
separated json.
If true, instead of emitting an error and cancelling the stream when an invalid line is proccessed, an invalid-line event is emitted with the same error. This is very useful when processing text that have mixed plain text and json data.
Example:
`js
var jsonlines = require('jsonlines')
var parser = jsonlines.parse({ emitInvalidLines: true })
parser.on('data', function (data) {
console.log('Got json:', data)
})
parser.on('invalid-line', function (err) {
console.log('Got text:', err.source)
})
parser.write('{ "test": "This is a test!" }\n')
parser.write('This is some plain text\n')
parser.write('{ "jsonlines": "is awesome" }')
parser.end()
`
Output:
`text``
Got json: { test: 'This is a test!' }
Got text: This is some plain text
Got json: { jsonlines: 'is awesome' }