import ddn.data.json5 : Json5SaxHandler, parseJSON5Sax, Json5Error;
import ddn.var : var;
size_t keys = 0;
size_t scalars = 0;
Json5SaxHandler h;
h.onKey = (const string k) @safe { ++keys; };
h.onValue = (const var v) @safe { ++scalars; };
Json5Error err;
assert(parseJSON5Sax("{a:1,b:[2,3]}", h, err));
assert(keys == 2);
assert(scalars == 3);
Returns
true on success; false with err populated on failure.