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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 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·8 vuesjimhigson.github.io/oboe.js-website/index.html↗

Oboe.js

oboe.js est un analyseur JSON en streaming et un client HTTP stream conçu pour le traitement incrémentiel des données. Il permet aux applications d'agir sur des objets JSON individuels dès leur arrivée via une requête réseau ou un flux lisible, avant même que le téléchargement complet ne soit terminé.

La bibliothèque fonctionne comme un transformateur de flux JSON, permettant la modification, le filtrage et le mappage des nœuds à la volée. Elle propose une sélection de nœuds basée sur le chemin pour déclencher des rappels (callbacks) lorsque des modèles spécifiques sont détectés, et peut fermer une connexion réseau prématurément une fois les données requises trouvées afin d'économiser la bande passante.

Pour gérer des jeux de données dépassant la mémoire système disponible, la bibliothèque utilise une gestion de la mémoire basée sur les flux pour supprimer les nœuds traités. Elle prend également en charge la fusion d'enregistrements historiques avec des mises à jour en temps réel via des connexions longue durée, et offre la possibilité de récupérer des données partielles en cas de coupure de connexion.

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.

Historique des stars

Graphique de l'historique des stars pour jimhigson/oboe.jsGraphique de l'historique des stars pour jimhigson/oboe.js

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait jimhigson/oboe.js ?

oboe.js est un analyseur JSON en streaming et un client HTTP stream conçu pour le traitement incrémentiel des données. Il permet aux applications d'agir sur des objets JSON individuels dès leur arrivée via une requête réseau ou un flux lisible, avant même que le téléchargement complet ne soit terminé.

Quelles sont les fonctionnalités principales de jimhigson/oboe.js ?

Les fonctionnalités principales de jimhigson/oboe.js sont : Incremental JSON Parsing, Streaming Transformations, JSON, On-the-Fly JSON Transformations, Streaming JSON Structure Modification, Streaming JSON Transformations, Memory-Efficient Streaming, HTTP Payload Streaming.

Quelles sont les alternatives open-source à jimhigson/oboe.js ?

Les alternatives open-source à jimhigson/oboe.js incluent : 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…

Alternatives open source à Oboe.js

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Oboe.js.
  • fasterxml/jacksonAvatar de FasterXML

    FasterXML/jackson

    9,740Voir sur 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
    Voir sur GitHub↗9,740
  • alibaba/fastjsonAvatar de alibaba

    alibaba/fastjson

    25,625Voir sur 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
    Voir sur GitHub↗25,625
  • zserge/jsmnAvatar de zserge

    zserge/jsmn

    4,065Voir sur 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
    Voir sur GitHub↗4,065
  • bblanchon/arduinojsonAvatar de bblanchon

    bblanchon/ArduinoJson

    7,176Voir sur 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
    Voir sur GitHub↗7,176
  • Voir les 30 alternatives à Oboe.js→