encode 方法

String encode(
  1. Object? value,
  2. {Object? toEncodable(
    1. dynamic object
    )?}
)
override

value 转换为 JSON 字符串。

如果值包含无法直接编码为 JSON 字符串的对象(不是数字、布尔值、字符串、null、列表或具有字符串键的映射的值),则使用 toEncodable 函数将其转换为必须可以直接编码的对象。

如果省略 toEncodable,则默认为一个函数,该函数返回对不可编码对象调用 .toJson() 的结果。

实现

String encode(Object? value, {Object? toEncodable(dynamic object)?}) {
  toEncodable ??= _toEncodable;
  if (toEncodable == null) return encoder.convert(value);
  return JsonEncoder(toEncodable).convert(value);
}