tbl_json | R Documentation |
Constructs a tbl_json
object, for further downstream manipulation
by other tidyjson functions. Methods exist to convert JSON stored in
character strings without any other associated data, as a separate
character string and associated data frame, or as a single data frame
with a specified character string JSON column.
tbl_json(df, json.list, drop.null.json = FALSE, ..., .column_order = NULL) as.tbl_json(.x, ...) as_tbl_json(.x, ...) ## S3 method for class 'tbl_json' as.tbl_json(.x, ...) ## S3 method for class 'character' as.tbl_json(.x, ...) ## S3 method for class 'list' as.tbl_json(.x, ...) ## S3 method for class 'data.frame' as.tbl_json(.x, json.column, ...) is.tbl_json(.x)
df |
data.frame |
json.list |
list of json lists parsed with
|
drop.null.json |
drop |
... |
other arguments |
.column_order |
Experimental argument to preserve column order for the hidden column |
.x |
an object to convert into a |
json.column |
the name of the json column of data in |
Most tidyjson functions accept a tbl_json
object as the first
argument, and return a tbl_json
object unless otherwise specified.
tidyjson functions will attempt to convert an object that isn't a
tbl_json
object first, and so explicit construction of tidyjson
objects is rarely needed.
tbl_json
objects consist of a data frame along with it's associated
JSON, where each row of the data frame corresponds to a single JSON
document. The JSON is stored in a "JSON"
attribute.
Note that json.list
must have the same length as nrow(df)
, and
if json.list
has any NULL
elements, the corresponding rows will
be removed from df
. Also note that "..JSON"
is a reserved
column name used internally for filtering tbl_json objects, and so is not
allowed in the names of df
.
a tbl_json
object
read_json
for reading json from files
# Construct a tbl_json object using a charater string of JSON json <- '{"animal": "cat", "count": 2}' json %>% as.tbl_json # access the "JSON" argument json %>% as.tbl_json %>% attr("JSON") # Construct a tbl_json object using multiple documents json <- c('{"animal": "cat", "count": 2}', '{"animal": "parrot", "count": 1}') json %>% as.tbl_json # Construct a tbl_json object from a data.frame with a JSON colum library(tibble) farms <- tribble( ~farm, ~animals, 1L, '[{"animal": "pig", "count": 50}, {"animal": "cow", "count": 10}]', 2L, '[{"animal": "chicken", "count": 20}]' ) farms %>% as.tbl_json(json.column = "animals") # tidy the farms farms %>% as.tbl_json(json.column = "animals") %>% gather_array %>% spread_all
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.