convert 方法

String convert(
  1. Object? object
)
override

object 转换为 JSON 字符串。

可直接序列化的值有 numStringboolNull,以及一些 ListMap 值。对于 List,元素必须是可序列化的。对于 Map,键必须是 String,且值必须是可序列化的。

如果尝试序列化任何其他类型的值,将使用构造函数中提供的 toEncodable 函数,并将该值作为参数调用。结果必须是一个可直接序列化的值,将替换原始值进行序列化。

如果转换过程中抛出异常,或返回的不是可直接序列化的值,将抛出 JsonUnsupportedObjectError 异常。如果调用抛出异常,错误将被捕获并存储在 JsonUnsupportedObjectErrorcause 字段中。

如果 ListMap 包含对自身的引用(直接或通过其他列表或映射),则无法进行序列化,将抛出 JsonCyclicError

object 在序列化过程中不应发生变化。

如果对象被序列化多次,convert 可能会缓存其文本。换句话说,如果一个对象在首次序列化之后其内容发生变化,新的值可能不会反映在结果中。

实现

String convert(Object? object) =>
    _JsonStringStringifier.stringify(object, _toEncodable, indent);