klp-json
v0.1.1
Published
A JSON plugin for `klp` (Kelpie), the small, fast, and magical command-line data processor.
Downloads
9
Maintainers
Readme
TODO: klp-json teaser
:horse:klp-json
is a JSON plugin for klp
(Kelpie), the small, fast, and magical command-line data processor.
See the klp
github repository for more details!
Installation
:ok_hand:
klp-json
comes preinstalled inklp
. No installation necessary. If you still want to install it, proceed as described below.
klp-json
is installed in ~/.klp/
as follows:
npm install klp-json
The plugin is included in ~/.klp/index.js
as follows:
const json = require('klp-json')
module.exports = {
plugins: [json],
context: {},
defaults: {}
}
For a much more detailed description, see the .klp
module documentation.
Extensions
This plugin comes with the following klp
extensions:
| | Description |
|---------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| jsonObj
chunker | Searches the data for JSON objects and returns each object as a chunk. All data between objects is dropped. This is useful in a streaming context, or when deserializing files containing one big JSON list of JSON objects. |
| json
deserializer | Deserializes data into JSON. Uses JSON.parse internally. |
| json
serializer | Serializes transformed JSON into JSON using JSON.stringify. |
Limitations
This plugin has the following limitations:
- No BigInt Support:
Since JSON does not support BigInt,
klp-json
does not support it either. If you need to pass BigInts, encode them as strings and not as numbers. - No JSON-Stream Chunker for Non-Objects:
Currently,
klp-json
only ships with a JSON object chunker for data streams. This may change in the future. - Integer Key Ordering:
The json serializer may order JSON object keys in surprising ways.
Keys that are integers are always moved to the beginning and sorted in ascending order.
All other keys come after these integer keys.
This is how JavaScript generally handles object keys and
klp-json
makes no exception.
Reporting Issues
Please report issues in the tracker!
License
klp-json
is MIT licensed.