Skip to content

v1.5.0 — Config (lenient parsing), streaming ReaderParser, name aliases

Choose a tag to compare

@buger buger released this 28 Jul 14:31
· 13 commits to master since this release

🔒 Covered by ReqProof — L3 Assurance (123 requirements, 0 errors, 0 warnings)

Config struct — opt-in lenient parsing (#160, #115)

var Lenient = jsonparser.Config{AllowSingleQuotes: true, AllowUnknownEscapes: true}
Lenient.Get(data, "key")  // parses {'key':'value'} and unknown escapes

Single-quote support and lenient escape handling via an opt-in Config. Default stays strict (RFC 8259).

Streaming ReaderParser (#132, #257)

rp := jsonparser.NewReaderParser(file)  // any io.Reader
rp.Get("users", "[0]", "name")          // path-based access from a stream

Path-based JSON access from an io.Reader — parse 10GB+ files without loading into memory. Buffers in 64KB chunks; memory bounded by the largest value.

Name aliases (#66)

EachArray, EachObject, EachArrayErr, EachArrayWildcard — canonical EachXxx pattern. Old XxxEach names kept for backward compatibility.

Proof coverage

  • 2 new SYS-REQs (115: Config/lenient, 116: streaming)
  • 123 requirements, 0 errors, 0 warnings, 279/279 functions traced

Full changelog: CHANGELOG.md