Abstract
JSON is a popular standard for data interchange on the Internet.
Ingesting JSON documents can be a performance bottleneck. A popular
parsing strategy consists in converting the input text into a tree-based
data structure—sometimes called a Document Object Model or DOM. We
designed and implemented a novel JSON parsing interface—called
On-Demand—that appears to the programmer like a conventional DOM-based
approach. However, the underlying implementation is a pointer iterating
through the content, only materializing the results (objects, arrays,
strings, numbers) lazily. On recent commodity processors, an
implementation of our approach provides superior performance in multiple
benchmarks. To ensure reproducibility, our work is freely available as
open source software.