Media-class: Media

Media-classR Documentation

Media

Description

The Media object represents a value identified by a URI. There is a Media subclass for each media type, such as “text/csv” or “application/xml”. Coercion methods (see setAs) define mappings between Media subclasses and R objects. The user does not usually need to access this functionality directly.

Type conversion

Each Media subclass may be converted to/from one or more R types. The mappings are established by setAs.

The following bi-directional mappings are built into the package:

application/xml, text/html XMLAbstractNode
application/json list
text/csv data.frame
text/* character

But call mediaCoercionTable to see what is defined in the current session.

The as function is the canonical interface to converting media to R objects. It (usefully) requires that the user specify the target R type. For convenience, the mediaTarget generic returns the default R type for a given Media object.

To support a new media type, one should define a Media subclass with the same name as the media type (application/xml), a corresponding mediaTarget method, and all relevant coerce methods. See the Media class hierarchy to determine where the new type fits.

Helpers

  • mediaCoercionTable(): Returns a character matrix with columns “from” and “to”, indicating the available coercions of media types to/from R objects.

Author(s)

Michael Lawrence

Examples

txt <- '{"json":{"rocks":true}}'
json <- as(txt, "application/json")
as(json, mediaTarget(json))

restfulr documentation built on June 16, 2022, 5:10 p.m.