Skip to content

Releases: Rajaniraiyn/jzon-rs

jzon-rs v0.2.2

16 Jun 15:31

Choose a tag to compare

What's Changed

Full Changelog: v0.2.1...v0.2.2

jzon-rs v0.2.1

16 Jun 09:45

Choose a tag to compare

What's Changed

  • Add #[rjson(serialize_with/deserialize_with)] jzon-native field attributes by @Rajaniraiyn in #4
  • Derive codegen: PHF threshold covers aliases + compile-time key overhead in size_hint by @Rajaniraiyn in #11
  • Derive codegen: deny_unknown_fields first-byte filter + u8 bitmask for ≤8 fields by @Rajaniraiyn in #12
  • Add JsonStr::BorrowedNoEsc variant — skip find_escape on zero-copy strings by @Rajaniraiyn in #13
  • jzon_serde: JsonSeqAccess drain-on-drop + float format (serde_compat 83/83) by @Rajaniraiyn in #14
  • Fix 15 JSON spec (ECMA-404) violations + TC39 compliance suite (95/97 passing) by @Rajaniraiyn in #15

Full Changelog: v0.2.0...v0.2.1

jzon-rs v0.2.0

15 Jun 18:05

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.1...v0.2.0

jzon-rs v0.1.1

15 Jun 15:13

Choose a tag to compare

jzon-rs 0.1.0

14 Jun 21:49

Choose a tag to compare

jzon-rs 0.1.0 — Initial release

Zero-copy JSON for Rust with compile-time generated typed parsers.

Crates

Crate crates.io
jzon-rs crates.io
jzon-rs-serde crates.io
jzon-rs-compat crates.io

Highlights

  • Compile-time per-struct parsers via #[derive(ToJson, FromJson)]
  • Zero-copy &'de str deserialization — borrows directly from input
  • SWAR u64/u128 string scanning (safe Rust, no intrinsics)
  • single-pass float parsing via fast_float2::parse_partial
  • Full serde attribute compatibility: rename, rename_all, skip, default, deny_unknown_fields, alias, tag, transparent
  • jzon-rs-serde: serde Serializer/Deserializer for any serde type
  • jzon-rs-compat: drop-in serde_json replacement via [patch.crates-io]

Benchmark highlights (arm64, simd+fast-float)

Benchmark jzon serde_json sonic-rs
twitter 617KB de ★ 316µs 327µs 345µs
canada 2.2MB de ★ 2.43ms 3.51ms 3.03ms
micro Point 25B de ★ 41ns 74ns 63ns
twitter ser ★ 10.2µs 27.7µs 10.4µs