Expand description
Resource-aware JSON infrastructure organized into decoding, encoding, and materialized-value domains.
decodevalidates strict JSON and normalizes explicitly configured non-standard text.encodeserializes values with explicit output and value budgets.formatvalidates and reformats JSON token streams while preserving their scalar token spellings.valueconstructs and traverses materialized JSON values.
qubit-budget owns limits, resource identities, and sessions. This crate
owns JSON-specific normalization, syntax validation, value construction,
and traversal.
§Number contract
Ordinary strict and normalizing text decoding defaults to the Integer64
model: negative integers fit i64, non-negative integers fit u64, and
fractional or exponential tokens are finite f64. An explicit supported
decode entry point can select finite fallback for out-of-range integer
tokens; this may round them. JcsDecoder instead converts every number to
finite binary64. Strict encoding retains its own range checks and does not
inherit a decode fallback. Wider exact integers and exact decimals should
use strings or an explicit domain wire format. NumberBytes limits lexical
size; it does not expand the supported numeric range.
Modules§
- decode
- JSON decoding APIs and their diagnostics.
- encode
- Strict JSON encoding APIs and their budget-aware serializer internals.
- format
- Whitespace-only formatting for strict JSON token streams.
- value
- Builds
serde_json::Valuevalues while charging a JSON value budget.