Sha256: 8f7b28ea976c4509777b96adaf549143b35f33ec19f76db60e33b4b000da2f74

Contents?: true

Size: 1.82 KB

Versions: 24

Compression:

Stored size: 1.82 KB

Contents

# JSONLines for Node.js

Parse [JSONLines](http://jsonlines.org) with Node.js.

## Installation

```sh
npm install --save jsonlines
```

## Usage

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

## 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:

```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' }
```

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
immosquare-cleaner-0.1.51 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.50 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.49 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.48 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.47 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.46 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.45 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.44 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.43 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.42 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.41 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.40 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.39 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.38 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.32 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.31 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.30 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.29 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.28 node_modules/jsonlines/README.md
immosquare-cleaner-0.1.27 node_modules/jsonlines/README.md