This function marks an atomic vector or data frame as a singleton, i.e. a set with exactly 1 element. Thereby, the value will not turn into an array when encoded into JSON. This can only be done for atomic vectors of length 1, or data frames with exactly 1 row. To automatically unbox all vectors of length 1 within an object, use the auto_unbox argument in toJSON().
unbox(x)
Arguments
x: atomic vector of length 1, or data frame with 1 row.
Returns
Returns a singleton version of x.
Details
It is usually recommended to avoid this function and stick with the default encoding schema for the various classes. The only use case for this function is if you are bound to some specific predefined JSON structure (e.g. to submit to an API), which has no natural representation. Note that the default encoding for data frames naturally results in a collection of key-value pairs, without using unbox.
Examples
toJSON(list(foo=123))toJSON(list(foo=unbox(123)))# Auto unbox vectors of length one:x = list(x=1:3, y =4, z ="foo", k =NULL)toJSON(x)toJSON(x, auto_unbox =TRUE)x <- iris[1,]toJSON(list(rec=x))toJSON(list(rec=unbox(x)))