json-streaming-parser
v1.0.4
Published
A streaming JSON parser for efficient parsing of large JSON objects, with the ability to emit partial objects as they are parsed. Contributed by [www.hubeet.com](https://www.hubeet.com)
Maintainers
Readme
🚀 JSON Streaming Parser
A high-performance streaming JSON parser that handles JSON like a pro! Perfect for parsing large JSON objects efficiently, with real-time partial object emission. Built with robustness in mind, it can handle malformed JSON like a champ - whether it's missing commas, wrong formatting, or even JSON written by a very enthusiastic monkey! 🐒
✨ Features
- 🌊 Stream processing of large JSON data
- 🛠️ Fault-tolerant parsing of malformed JSON
- 🏃♂️ Real-time partial object updates
- 💪 Robust error handling
- 🎯 Zero dependencies
- 📦 Lightweight (~5KB minified)
- 🔒 Type-safe with TypeScript definitions
- 🚦 Event-based architecture
🔧 Installation
npm install json-streaming-parser
# or
yarn add json-streaming-parser
# or
pnpm add json-streaming-parser📚 Usage
Online HTML Demo
Basic Example
import { JSONStreamingParser } from 'json-streaming-parser';
try {
const parser = new JSONStreamingParser();
parser.on('updateObject', (partialObject) => {
console.log('Got partial data:', partialObject);
});
// Feed data chunks as they arrive
parser.write('{"name": "John", ');
parser.write('"age": 30, ');
parser.write('"city": "New York"}');
parser.end();
} catch (error) {
console.error('Parser error:', error);
}🔍 Advanced Features
Event System
updateObject: Emitted when partial objects are parsederror: Handling parsing errorsend: Stream completiontimeout: Parser timeout eventsprogress: Parsing progress updates
🎯 Performance
Benchmarks run on Node.js 18.x, processing 1GB JSON file:
| Parser | Memory Usage | Processing Time | |------------------------|--------------|-----------------| | JSON Streaming Parser | ~50MB | 2.3s | | JSON.parse() | ~1.2GB | 4.1s | | Other Streaming Parser | ~120MB | 3.5s |
🤝 Contributing
We love contributions! Here's how you can help:
- 🐛 Report bugs
- 💡 Suggest features
- 📝 Improve documentation
- 🔧 Submit PRs
Check our Contributing Guide for details.
📄 License
This project is licensed under the MIT License.
🏢 About Hubeet
This library is proudly developed and maintained by Hubeet, an innovation hub powered by Solúnika.
At Solúnika, we specialize in:
🚀 High-performance software development 🔒 Enterprise-grade security & compliance 🤖 AI-driven business automation 📊 Big Data & real-time analytics 🌐 Seamless enterprise integrations
If your company needs custom software solutions with a strong focus on security, scalability, and innovation, feel free to contact us.
🌟 Star Us!
If you find this library helpful, please give it a star! It helps others discover this solution.
