JsonUtf8Encoder 构造函数
创建转换器。
如果 indent
非空,则转换器会尝试“美化打印”JSON,并使用 indent
作为缩进。否则,结果字符串中没有字符串字面量之外的空白。如果 indent
包含非有效的JSON空白字符,则结果将不是有效的JSON。JSON空白字符包括空格(U+0020)、制表符(U+0009)、换行符(U+000a)和回车符(U+000d)(《ECMA 404》http://www.ecma-international.org/publications/standards/Ecma-404.htm》)。
bufferSize
是用于收集UTF-8代码单元的内部缓冲区的大小。如果使用 startChunkedConversion,它将是块的大小。
JSON编码器直接处理数字、字符串、布尔值、null、列表和映射。
任何其他对象都尝试通过 toEncodable
转换为一个可转换类型的对象。
如果省略了 toEncodable
,则默认为在对象上调用 .toJson()
。
实现
JsonUtf8Encoder(
[String? indent, dynamic toEncodable(dynamic object)?, int? bufferSize])
: _indent = _utf8Encode(indent),
_toEncodable = toEncodable,
_bufferSize = bufferSize ?? _defaultBufferSize;