convert方法
- Object? object
override
将object
转换为JSON String。
可直接序列化的值包括 num、String、bool 和 Null,以及一些 List 和 Map 值。对于 List,元素必须都是可序列化的。对于 Map,键必须是 String,值也必须可序列化。
如果尝试序列化其他类型的值,将调用构造函数中提供的toEncodable
函数,并将值作为参数。结果(必须是可直接序列化的值)将代替原始值进行序列化。
如果转换抛出异常,或者返回的不是可直接序列化的值,将抛出JsonUnsupportedObjectError异常。如果调用抛出异常,错误将被捕获并存储在JsonUnsupportedObjectError的cause
字段中。
如果List或Map包含对自己或通过其他列表或映射的引用,则无法进行序列化,并将抛出JsonCyclicError。
object
在序列化过程中不应发生变化。
如果对象被序列化多次,convert可能会缓存其文本。换句话说,如果对象在首次序列化之后的内容发生变化,新值可能不会反映在结果中。
实现
String convert(Object? object) =>
_JsonStringStringifier.stringify(object, _toEncodable, indent);