String encode(
Object value,
{dynamic toEncodable(object)}
)

Converts value to a JSON string.

If value contains objects that are not directly encodable to a JSON string (a value that is not a number, boolean, string, null, list or a map with string keys), the toEncodable function is used to convert it to an object that must be directly encodable.

If toEncodable is omitted, it defaults to a function that returns the result of calling .toJson() on the unencodable object.

Source

/**
 * Converts [value] to a JSON string.
 *
 * If value contains objects that are not directly encodable to a JSON
 * string (a value that is not a number, boolean, string, null, list or a map
 * with string keys), the [toEncodable] function is used to convert it to an
 * object that must be directly encodable.
 *
 * If [toEncodable] is omitted, it defaults to a function that returns the
 * result of calling `.toJson()` on the unencodable object.
 */
String encode(Object value, {toEncodable(var object)}) {
  if (toEncodable == null) toEncodable = _toEncodable;
  if (toEncodable == null) return encoder.convert(value);
  return new JsonEncoder(toEncodable).convert(value);
}