R/to_json.R

Defines functions to_json

Documented in to_json

#' to_json
#' write data out as a JSON object
#'
#' @inheritParams write_dataset
#' @param array generate a JSON array?
#' @param options additional options
#' @param options additional options as a char string, see
# https://duckdb.org/docs/sql/statements/copy.html#json-options
to_json <- function(dataset,
                    path,
                    conn = cached_connection(),
                    array = TRUE,
                    options = NULL) {
  sql <- dbplyr::sql_render(dataset)
  if (array)
    options <- c("ARRAY true", options)

  options <- paste("FORMAT JSON", options, sep = ", ", collapse = ", ")

  q <- glue::glue("COPY ({sql}) TO '{path}' ({options});")
  DBI::dbExecute(conn, q)

}

Try the duckdbfs package in your browser

Any scripts or data that you put into this service are public.

duckdbfs documentation built on April 11, 2025, 5:52 p.m.