1.0.1 • Published 6 months ago

parse-json-stream-plus v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
6 months ago

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!

1.0.1

6 months ago