jdouble()
and jinteger()
.
junmber()
is aliased to jdouble()
, and can
still be used, however jdouble()
should be preferred as it
is less ambiguous.Add tbl_json
methods for join to drop the
tbl_json
class early. If you need the ..JSON
column, ensure to save it with json_get_column()
before
joining.
Work around an issue with dplyr 1.0.0
and
[
not subsetting properly with
transmute
Please let us know if you run into any errors of the form
The `[` method for class <tbl_json/tbl_df/tbl/data.frame> must return a data frame with 1 column
We will need to do some more work on how we manage the
..JSON
column.
attr(., "JSON")
, the JSON object is now a
hidden column (..JSON
). To prevent future backwards
incompatibilities of this nature, there is now an “extractor” function
to pull the raw JSON object off of the tbl_json
:
json_get()
. You can also use json_get_column()
to add the raw json onto your tbl_json
as a dedicated
column..JSON
column with
dplyr::select()
will mostly ignore you for complicated
reasons. Use json_get_column()
if you want to access the
raw ..JSON
data.tidyjson
“magic”,
tibble::as_tibble()
will drop the tbl_json
class and you are back to normal!Address backwards incompatibilities in
dplyr
Address backwards incompatibilities in
vctrs
Remove tidyjson::bind_rows()
in favor of
re-exporting dplyr::bind_rows()
Add a few generics to make behavior generally more consistent:
$<-.tbl_json
, etc.
Add as_tbl_json
as a future replacement for
as.tbl_json
Add as_tbl_json.list
so that you can more easily
parse the JSON outside of tbl_json
if you like. Further,
this allows tbl_json
to work with any arbitrary nested
list. (#119)
bind_rows()
support. Though currently not an S3
implementation, it behaves as much like the dplyr
variant
as possible, preserving the attr(.,'JSON')
components if
all components are tbl_json
objects. (#58)“Using Multiple APIs” vignette added to show support for using tidyjson with multiple APIs (#85)
Updated README.md to better explain spread_all()
(#92)
Improve compatibility with newer dplyr
and
tidyr
DROP=TRUE
caused an error. Altered behavior to be
consistent with tbl_df
Fix spread_all(recursive=FALSE)
bug that caused an
error (#65)
Alter spread_all()
behavior to recursively check for
deduplication of names (and thus avoid an error) (#76)
Add named support for the NSE
versions of dplyr
functions
(filter()
,mutate()
,slice()
, etc.)
since the SE
variants are no longer called
behind-the-scenes since dplyr 0.6.0
. (#97)
Fix errors with print.tbl_json()
when the JSON
attribute is missing
Fix json_structure() failure if document.id
missing
by imputing the missing document.id
. (#86)
json_complexity()
computes the “complexity”
(recursively unlisted length) of JSON data (#5)
json_structure()
recursively structures arbitrary
JSON data into a single data frame (#2)
json_schema()
creates a schema for a JSON document
or collection (#12)
is_json
functions for testing JSON types, such as
is_json_string()
, is_json_null()
or
is_json_object()
(#39)
spread_all()
spreads all scalar values of a JSON
object into new columns (#56)
as.character.tbl_json()
converts
tbl_json
objects back into JSON character strings
(#62)
gather_object()
replaces gather_keys()
,
with default column.name
of name
instead of
key
(#66). This more closely matches the JSON standard, which refers to objects
as name-value pairs, and is now consistent with
gather_array()
.
“Using Multiple APIs” vignette added to show support for using tidyjson with multiple APIs (#85)
Updated README.md to better explain spread_all()
(#92)
“Visualizing JSON” vignette for visualizing the structure of
complex JSON data, like the companies
example (#4)
Significant updates to all documentation and examples for clarity (#42)
Updated “Introduction to tidyjson” vignette to be more concise and use new functionality (#74)
enter_object
and the jstring
,
jnumber
and jlogical
functions now accept
unquoted strings to specify their path (#26)
tbl_json
objects now print with a tidy character
representation of the JSON attribute (#61)
Use purrr for most list based internal operations (#1)
Use tidyr for
gather_array
and gather_object
functions
(#28)
Imported the magrittr %>%
operator (#17)
Fixed dplyr::slice()
not working correctly with
tbl_json
objects (#18)
First argument to verbs is .x
rather than
x
to avoid name conflicts in NSE (#23)
Fixed spread_values()
to not coerce types
(#24)
gather_array()
and gather_object()
can
be called repeatedly in the same pipeline with the same
column.name
argument, and will simply append an integer
identifer to the new columns (#38)
gather_keys()
-> use gather_object()
instead