Skip to content
Projects

jimhigson/oboe.js has 4,816 GitHub stars and 207 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 16:35 UTC. Last push 2025-11-17.

How these counts are measured

A streaming approach to JSON. Oboe.js speeds up web applications by providing parsed objects before the response completes.

Measured star growth

in 24h
0
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Archive note (2024)

This project is now archived. As of 2024, no code changes have been made in 5 years, and I (Jim) have not had the time to port it to new technology, or maintain it in a way that it deserves.

For existing projects using this code, it should continue to work, but I would recommend looking for other solutions.

I (Jim) still think there is a clear gap in the market for a streaming-first JSON parser that doesn't wait for responses to finish before it starts using them. For anyone who is interested in making that project, reach out and I'd be happy to discuss. Today, with modern javascript and typescript (ie async iterators), a much nicer modern API could be made than the one I created in 2013.

Many thanks to JuanCaicedo and Aigeec in particular for continuing to contribute fixes and modernise this project through to ~2020.

The Oboe.js website has been ported to a static site Github Pages, and the plan is to keep it online with a deprecation notice.

Interested what I've been working on since? Check out my github and maybe 🕹️play my retro-game

The original README follows below.


Oboe.js is an open source Javascript library for loading JSON using streaming, combining the convenience of DOM with the speed and fluidity of SAX.

It can parse any JSON as a stream, is small enough to be a micro-library, doesn't have dependencies, and doesn't care which other libraries you need it to speak to.

We can load trees larger than the available memory. Or we can instantiate classical OOP models from JSON, or completely transform your JSON while it is being read.

Oboe makes it really easy to start using json from a response before the ajax request completes. Or even if it never completes.

Where next?

Explore related projects