Performance
OK JSON is built to open documents fast and stay smooth once they’re open.
Parsing is powered by swift-yyjson , Swift bindings to yyjson — a JSON library written in C and one of the fastest parsers available. OK JSON parses your document in place, without making intermediate copies, and values stay in the parsed buffer until they’re actually needed. Very long strings are shown as a bounded preview in the Navigator instead of being decoded in full, so a single huge value can’t slow the tree down.
The main app is built with AppKit, Apple’s native UI framework for the Mac. The Navigator is a real NSOutlineView: it only creates views for the rows on screen, so scrolling stays smooth no matter how deep you expand. There’s no browser engine to boot and no JavaScript bridge to cross — the app launches in a blink and feels like a Mac app because it is one.
Heavy work happens off the main thread. Parsing and document analysis run in the background, so the app keeps responding while a large document loads, and the Navigator appears as soon as the tree is ready.
Tuning
Two settings in Settings → Navigator → Behaviors trade a little convenience for extra speed on large documents:
- Sort keys asks the parser to sort every object’s keys alphabetically, which adds work to every load.
- Expand all child nodes by default makes the Navigator lay out the entire tree right after loading, instead of only the rows you open.
Turning both off helps when you work with big documents. As a safeguard, OK JSON skips the automatic expansion on its own when a document has more than 60,000 nodes.