Either a primitive string or a JSON object can be passed in to set methods, depending on their implementation. A primitive string would be used primarily to hold an object key, while a JSON object would provide a flat representation of an object's name/value pairs.
An optional array can be passed in as a filter to get methods. If field names are passed in to a get method, only the name/value pairs for the passed field names are returned. If no field names are passed, all name/value pairs for the expected object are returned. If no value is available for a field, null is returned for that field.