crunch
uses the jsonlite
package for JSON serialization and
deserialization. Unfortunately, jsonlite::toJSON()
does not allow for defining S4 methods for other object types. So,
crunch::toJSON
wraps jsonprep
, which exists to translate
objects to base R objects, which jsonlite::toJSON
can handle.
jsonprep
is defined as an S4 generic, and it is exported, so you can define
methods for it if you have other
objects that you want to successfully serialize to JSON.
jsonprep(x, ...)
# S4 method for AbstractCategories
jsonprep(x, ...)
# S4 method for ANY
jsonprep(x, ...)
# S4 method for ShojiOrder
jsonprep(x, ...)
# S4 method for OrderGroup
jsonprep(x, ...)
toJSON(x, ..., for_query_string = FALSE)
the object
additional arguments
If TRUE
, and crunch.stabilize.query
option
is also set to TRUE
, then dictionary items in the JSON are
sorted alphabetically, which can be useful when capturing
mocks using "httptest".
jsonprep
returns a base R object that jsonlite::toJSON
can handle. toJSON
returns the JSON-serialized character object.