{"repo":"uhop/stream-json","free":true,"listed":false,"github":"https://github.com/uhop/stream-json","clone":"git clone https://github.com/uhop/stream-json.git","description":"A micro-library of stream components for building custom JSON and JSONC processing pipelines with a minimal memory footprint — parse, filter, and transform JSON far larger than available memory with a SAX-inspired token API, on Node.js or Web Streams.","language":"JavaScript","stars":1194,"topics":["streaming-json","parser","filter","json","json-parser","jsonc","large-files","memory-efficient","nodejs","pipeline"],"license":"BSD-3-Clause","category":"dev-tools","readme_excerpt":"stream-json [![NPM version][npm-image]][npm-url] [npm-image]: https://img.shields.io/npm/v/stream-json.svg [npm-url]: https://npmjs.org/package/stream-json stream-json is a micro-library of components for processing JSON files and streams, with a minimal memory footprint. Point it at a document far larger than available memory and it streams straight through &mdash; you pick out only the parts you care about and handle them one at a time, instead of loading the whole thing with JSON.parse . Even individual keys, strings, and numbers can be streamed piece by piece, and a SAX-inspired event API is included. Each component is one stage of a pipeline: the parser turns text into a token stream, filters trim and reshape that stream on the fly, and streamers assemble the surviving tokens back into JavaScript objects. They compose with each other and with your own code through stream-chain, the zero-dependency library this one is built on; TypeScript typings are bundled. Why it might be for you: - Surgical. pick , ignore , replace , and filter keep just the subobjects you want out of a massive document and drop the rest &mdash; the bytes you skip are never assembled into memory. - Composable. Every component is an ordinary pipeline stage. Mix them with each other, with plain functions and generators, and with any Node or Web stream. - Performance-minded. The parser and assemblers are measured and tuned along the hot paths. Real numbers depend on your data and hardware, so benchmark o","default_branch":null,"files":null,"tree":[],"storefront":"/r/uhop","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/uhop/stream-json/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}