awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
jimhigson avatar

jimhigson/oboe.js

0
View on GitHub↗
4,819 stars·209 forks·JavaScript·32 viewsjimhigson.github.io/oboe.js-website/index.html↗

Oboe.js

oboe.js is a streaming JSON parser and HTTP stream client designed for incremental data processing. It allows applications to act upon individual JSON objects as they arrive from a network request or readable stream before the entire download completes.

The library functions as a JSON stream transformer, enabling the modification, filtering, and mapping of nodes on the fly. It features path-based node selection to trigger callbacks when specific patterns are matched and can terminate a network connection early once required data is found to save bandwidth.

To handle datasets larger than available system memory, the library utilizes stream-based memory management to discard processed nodes. It also supports merging historical records with real-time updates through long-running connections and provides the ability to recover partial data if a connection is dropped.

Features

  • Incremental JSON Parsing - Parses JSON data incrementally as it arrives from the network, allowing partial responses to be used before completion.
  • Streaming Transformations - Enables the modification, filtering, and mapping of JSON nodes on the fly during streaming.
  • JSON - Processes incoming JSON data incrementally, enabling the application to act on individual objects before the full response is received.
  • On-the-Fly JSON Transformations - Modifies or replaces parsed JSON data segments in real-time before they are passed to application logic.
  • Streaming JSON Structure Modification - Modifies the structure or content of JSON data in real-time as it is being read from the network.
  • Streaming JSON Transformations - Modifies the structure or content of JSON nodes on the fly while they are being read from a stream.
  • JSON - Implements an incremental parser specialized for processing large JSON datasets from network requests.
  • Memory-Efficient Streaming - Discards processed nodes from the internal tree to handle datasets that exceed available system RAM.
  • HTTP Payload Streaming - Controls network requests by aborting connections or terminating streams early once specific data is found.
  • Parsing-State Path Matching - Triggers callbacks by monitoring the current depth and key sequence of the JSON tree during parsing.
  • Remote Data Fetching - Executes network requests to retrieve JSON data using custom methods, headers, and cross-domain configurations.
  • JSON-to-Model Mappers - Instantiates object-oriented models from incoming JSON data to organize the stream into structured application objects.
  • Incremental Data Merging - Supports merging historical data records with real-time updates through long-running connections to maintain state.
  • External Data Parsing - Enables reading and processing of JSON data from various external readable streams regardless of the source.
  • Large Dataset Streaming - Handles datasets larger than available system memory by reading data incrementally through streaming.
  • Memory Footprint Optimizers - Optimizes memory by clearing parsed nodes from the internal tree immediately after they are processed.
  • Path-Based Node Matching - Triggers specific callbacks by monitoring the depth and key sequence of the JSON tree during parsing.
  • Stream Filters - Filters streamed data by matching specific nodes or patterns to identify and act upon relevant information.
  • Streaming Source and Sink Integration - Consumes data from any compatible stream source, including network sockets and local files.
  • Early Stream Termination - Closes the active network connection immediately once a specific data pattern is matched to save bandwidth.
  • Network Stream Terminations - Closes active network connections immediately after required data is found to save bandwidth.
  • Readable Stream Integrations - Provides the ability to process JSON data from any compatible readable stream, including local files and network sockets.
  • Request Abort Controllers - Provides mechanisms to terminate active network requests and immediately halt the processing of buffered content.
  • Parsed Node Discarding - Removes specific nodes from a parsed tree during streaming to reduce memory usage and filter irrelevant fields.
  • Real-Time Data Integrations - Merges existing records with live updates through long-running connections to maintain current application state.

Star history

Star history chart for jimhigson/oboe.jsStar history chart for jimhigson/oboe.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Oboe.js

These projects share indexed features with Oboe.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • fasterxml/jacksonFasterXML avatar

    FasterXML/jackson

    9,740View on GitHub↗

    Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin

    hacktoberfestjacksonjava-json
    View on GitHub↗9,740
  • alibaba/fastjsonalibaba avatar

    alibaba/fastjson

    25,625View on GitHub↗

    Fastjson is a Java data binding framework and serialization library designed to convert objects to JSON strings and parse JSON data into typed objects. It functions as a JSON parser and stream processor capable of transforming JSON strings into data structures. The project emphasizes high performance JSON processing and memory management, specifically through the use of a pipeline to stream oversized JSON objects and texts to prevent memory exhaustion. It provides capabilities for JSON data serialization and deserialization workflows, including custom JSON data mapping and the ability to def

    Java
    View on GitHub↗25,625
  • zserge/jsmnzserge avatar

    zserge/jsmn

    4,065View on GitHub↗

    jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing designed for use in embedded systems and memory-constrained environments. The library identifies structural JSON elements by providing offsets into the original string rather than allocating new memory for data. It uses a single-pass scanning method and requires static-buffer allocation, meaning the caller provides the memory for tokens to avoid dynamic allocation during the parsing process. The parser supports incremental streaming, allowing it to process JSON data in chunks fr

    Cjson-datajson-stringparsing
    View on GitHub↗4,065
  • bblanchon/arduinojsonbblanchon avatar

    bblanchon/ArduinoJson

    7,176View on GitHub↗

    ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers with limited memory and processing power. It provides the core primitives necessary for embedded data serialization and parsing, enabling devices to exchange structured data over serial or network interfaces. The library is distinguished by its focus on microcontroller memory management, employing strategies such as pool-based allocation, string deduplication, and non-owning string views to minimize RAM usage. It further optimizes for constrained environments by allowing cons

    C++arduinoarduino-libraryc-plus-plus
    View on GitHub↗7,176
Compare all 30 related projects→

Frequently asked questions

What does jimhigson/oboe.js do?

oboe.js is a streaming JSON parser and HTTP stream client designed for incremental data processing. It allows applications to act upon individual JSON objects as they arrive from a network request or readable stream before the entire download completes.

What are the main features of jimhigson/oboe.js?

The main features of jimhigson/oboe.js are: Incremental JSON Parsing, Streaming Transformations, JSON, On-the-Fly JSON Transformations, Streaming JSON Structure Modification, Streaming JSON Transformations, Memory-Efficient Streaming, HTTP Payload Streaming.

Which projects share features with jimhigson/oboe.js?

Projects with overlapping indexed features include: fasterxml/jackson — Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into… alibaba/fastjson — Fastjson is a Java data binding framework and serialization library designed to convert objects to JSON strings and… zserge/jsmn — jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing… bblanchon/arduinojson — ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers… instructor-ai/instructor — Instructor is a schema enforcement and validation library designed to transform language model outputs into… simdjson/simdjson — simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with…