convert 方法
- Object? object
override
将 object
转换为 JSON 字符串。
可直接序列化的值有 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);