Ninjas Practicing Multidimensionality

    jsonlines
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/jsonlines package

    0.1.1 • Public • Published

    JSONLines for Node.js

    Parse JSONLines with Node.js.

    Installation

    npm install --save jsonlines

    Usage

    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()
    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()

    API

    .parse([options])

    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.

    .stringify()

    Returns a transform stream that turns javascript values into a stream of newline separated json.

    Options

    emitInvalidLine

    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:

    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:

    Got json: { test: 'This is a test!' }
    Got text: This is some plain text
    Got json: { jsonlines: 'is awesome' }

    Keywords

    none

    Install

    npm i jsonlines

    DownloadsWeekly Downloads

    219,348

    Version

    0.1.1

    License

    MIT

    Last publish

    Collaborators

    • linusu