typedjson: Type-Faithful and Human-Readable JSON for R Values

Writing an R value as JSON that a human can read, and reading it back unchanged. The 'jsonlite' package offers either a readable but lossy pair of functions or a faithful but verbose one; this package emits ordinary JSON for ordinary values and annotates only what JSON cannot express, namely the distinction between integer and double, typed missing values, non-finite numbers, attributes, and objects from the S3, S4 and S7 systems.

Version: 0.1.0
Depends: R (≥ 4.3)
Imports: methods
LinkingTo: cpp11
Suggests: jsonlite, knitr, R6, rmarkdown, S7, testthat (≥ 3.0.0), withr
Published: 2026-09-18
DOI: 10.32614/CRAN.package.typedjson (may not be active yet)
Author: Nicolas Bennett [aut, cre, cph], YaoYuan [ctb, cph] (Author of the vendored yyjson library)
Maintainer: Nicolas Bennett <nicolas at cynkra.com>
BugReports: https://github.com/nbenn/typedjson/issues
License: MIT + file LICENSE
Copyright: The bundled 'yyjson' code in src/ is Copyright (c) 2020 YaoYuan and distributed under the MIT license. See file YYJSON-LICENSE for its full text.
URL: https://nbenn.github.io/typedjson/
NeedsCompilation: yes
Language: en-US
Materials: README, NEWS
CRAN checks: typedjson results

Documentation:

Reference manual: typedjson.html , typedjson.pdf
Vignettes: Size and speed against jsonlite (source, R code)
Design notes (source, R code)
Persisting a class that owns a handle (source, R code)
Persisting an R6 class (source, R code)

Downloads:

Package source: typedjson_0.1.0.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): not available, r-oldrel (arm64): not available, r-release (x86_64): not available, r-oldrel (x86_64): not available

Linking:

Please use the canonical form https://CRAN.R-project.org/package=typedjson to link to this page.