parse-json-stream-plus
v1.0.1
Published
A lightweight and efficient streaming JSON parser for Node.js
Downloads
2
Readme
parseJsonStream
- Streaming JSON Parser
parseJsonStream
is a lightweight and efficient streaming JSON parser for Node.js that allows you to parse JSON data as it streams in. This module is designed for both speed and size optimization.
Installation
You can install the parseJsonStream
module using npm:
npm install parse-json-stream-plus
Usage
Import the Module
To use the parseJsonStream
module, import it into your Node.js application:
const parseJsonStream = require('parse-json-stream-plus');
Streaming JSON Parsing
The parseJsonStream function takes a JSON string as input and a callback function to process each parsed JSON object. It efficiently processes the JSON string as it streams in, without the need to load the entire JSON into memory.
const data = '{"object1":{"key1":"value1"},"object2":{"key2":"value2"}}';
const handleParsedObject = (parsedObject) => {
// Handle each parsed JSON object here.
console.log(parsedObject);
};
parseJsonStream(data, handleParsedObject);
Handling Errors
parseJsonStream
handles JSON parsing errors gracefully. If a parsing error occurs, it logs the error and continues processing the stream.
const data = '{"validObject":{"key":"value"}, "invalidObject":{brokenJSON}';
const handleParsedObject = (parsedObject) => {
// Handle each parsed JSON object here.
console.log(parsedObject);
};
parseJsonStream(data, handleParsedObject);
Performance Optimization
- The module processes JSON objects as they complete, reducing memory overhead.
- It maintains a buffer threshold (e.g., 1024 characters) for efficient processing of large data chunks.
Advanced Usage
Custom Buffer Threshold
You can customize the buffer threshold to optimize memory usage and processing speed. Adjust the threshold to match your specific requirements.
// Set a custom buffer threshold (e.g., 512 characters).
parseJsonStream(data, handleParsedObject, 512);
Fine-Tuning for Specific Use Cases
For specific use cases, you can fine-tune the module's parameters to match your requirements and performance goals.
Contributing
We welcome contributions to deep-freeze-plus! If you find a bug or have a feature request, please open an issue or submit a pull request.
Enjoy streaming JSON parsing with parseJsonStream
!