Create named list of options for serializing R to JSON
decimal places to keep for floating point numbers. Default: -1. Positive values specify number of decimal places. Using zero will write the numeric value as an integer. Values less than zero mean that the floating point value should be written as-is (the default).
Logical value indicating if the created JSON string should have
whitespace for indentation and linebreaks. Default: FALSE.
Note: this option is equivalent to yyjson_write_flag = write_flag$YYJSON_WRITE_PRETTY
automatically unbox all atomic vectors of length 1 such that they appear as atomic elements in JSON rather than arrays of length 1.
how to encode data.frame objects. Options 'rows' or columns'. Default: 'rows'
how to encode factor objects: must be one of 'string' or 'integer' Default: 'string'
How should unnamed items in a partially named list be handled? 'none' means to leave their names blank in JSON (which may not be valid JSON). 'minimal' means to use the integer position index of the item as its name if it is missing. Default: 'none'
Should special numeric values (i.e. NA, NaN, Inf) be
converted to a JSON null
value or converted to a string
representation e.g. "NA"/"NaN" etc. Default: 'null'
Should a special value of NA
in a character vector
be converted to a
JSON null
value, or converted to a string "NA"? Default: 'null'
Does the user guarantee that there are no NA, NaN or Inf
values in the numeric vectors? Default: FALSE. If TRUE
then
numeric and integer vectors will be written to JSON using a faster method.
Note: if there are NA, NaN or Inf values, an error will be thrown.
Expert users are invited to also consider the
YYJSON_WRITE_ALLOW_INF_AND_NAN
and
YYJSON_WRITE_INF_AND_NAN_AS_NULL
options for yyjson_write_flags
and should consult the yyjson
API documentation for
further details.
integer vector corresponding to internal yyjson
options. See yyjson_write_flag
in this package, and read
the yyjson API documentation for more information. This is considered
an advanced option.
Named list of options for writing JSON
write_json_str(head(iris, 3), opts = opts_write_json(factor = 'integer'))
#> [1] "[{\"Sepal.Length\":5.1,\"Sepal.Width\":3.5,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":1},{\"Sepal.Length\":4.9,\"Sepal.Width\":3.0,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":1},{\"Sepal.Length\":4.7,\"Sepal.Width\":3.2,\"Petal.Length\":1.3,\"Petal.Width\":0.2,\"Species\":1}]"