convert方法

String convert(
  1. Object? object
)
override

object转换为JSON String

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

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

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

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

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

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

实现

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