Fast 'JSON', 'NDJSON' and 'GeoJSON' Parser and Generator
Overview
A fast 'JSON' parser, generator and validator which converts 'JSON', 'NDJSON' (Newline Delimited 'JSON') and 'GeoJSON' (Geographic 'JSON') data to/from R objects. The standard R data types are supported (e.g. logical, numeric, integer) with configurable handling of NULL and NA values. Data frames, atomic vectors and lists are all supported as data containers translated to/from 'JSON'. 'GeoJSON' data is read in as 'simple features' objects. This implementation wraps the 'yyjson' 'C' library which is available from https://github.com/ibireme/yyjson.
- C-API: Address non-API call
Rf_findVarInFrame() - Geojson: Feature level IDs are now parsed correctly.
- yyjson: Include latest yyjson version 0.12.0
- yyjson: Expose new
yyjson_read_flagoptions for JSON5 parsing - opts: Added parse option for
empty_arrayandempty_object. Seeopts_read_json() - opts: Add
nulloption when serializing. Now defaults to using JSON "null" where previously had defaulted erroneously to an empty json array. Seeopts_write_json() - compat: switch from
gzfread()togzread()forcentOScompatability. - feature: Add
read_geojson_conn()to handle geonjson from an R connection object - opts: Added option
arr_of_arrs_to_matrix. Logical value to control if conforming JSON []-arrays of nested []-arrays should be converted to matrices.
Show all changes in 0.1.22Hide the rest of the changes in 0.1.22
- Fix: Added support for raw nested data.frames (which are *not* in list-columns)
- Fix: ndjson error with zero-length input when parsing to data.frame. Now returns empty data.frame(). This matches the parsing of ndjson to lists, where zero-length input is not an error, and just returns empty lists.
- Fix: segfault in parse_ndjson_str_as_df_. Now freeing allocated colnames when error occurs
- Fix: free yyjson doc on error in geojson parse
- C-API: Removed support for UnboundValues when serializing environments
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-05-11
- WARNING12 OK, 1 WARNING2026-05-10
- OK14 OK2026-04-09
Show 3 earlier changesHide 3 earlier changes
- WARNING9 OK, 4 NOTE, 1 WARNING2026-03-21
- NOTE13 OK, 1 NOTE2026-03-17
- OK14 OK2026-03-10
Documentation
- Help pages
- 25
- Examples that run
- 100%24 run in a plain check (2 of them under a condition)
- Exported functions with examples
- 96%
- Documented parameters
- 100%
- Return-value docs
- 92%
- Help pages citing references
- 0%
Downloads
Repository
- PRs merged (all time)
- 38%
- Median days to close, 50 most recently updated closed issues
- 214
- Median days to close, 50 most recently updated closed PRs
- 119
Stars over time
Forks over time
Issues over time
PRs over time
4 development-tooling and community-health practices detected across 3 families in the upstream repository
Checks run against github.com/coolbutuseless/yyjsonr on 2026-10-11.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
Dependencies
Installing yyjsonr adds no packages beyond those that come with R.
Show all 18 packagesHide all 18 packages
Code & Tests
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- 0.1.22Latest
- 0.1.21
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- 0.1.202024-04-10 · diff ↗ ·
added 11 exports
opts_read_geojson, opts_write_geojson, read_geojson_file, read_geojson_str, read_ndjson_file, read_ndjson_str, write_geojson_file, write_geojson_str, write_ndjson_file, write_ndjson_str, yyjson_version - 0.1.182024-01-22 · diff ↗
- 0.1.162024-01-17
- RR 4.3.0 released · 2023-04-21
Package metadata
- First published
- 2024-01-17
- Total releases
- 5 / 2 yrs
- License
- MIT + file LICENSE OSI
- Copyright
- The included 'yyjson' code is Copyright (c) 2020 YaoYuan. See 'COPYRIGHTS' for LICENSE for included code.
- Minimum R
- ≥ 4.1.0
- Download size
- 1.3 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("yyjsonr")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-17, which the citation names so these numbers can be found later. More on citing and the projects behind them.