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)

Arguments

x

the object

...

additional arguments

for_query_string

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".

Value

jsonprep returns a base R object that jsonlite::toJSON

can handle. toJSON returns the JSON-serialized character object.