JsonUtf8Encoder 构造函数

JsonUtf8Encoder(
  1. [String? indent,
  2. dynamic toEncodable(
    1. dynamic object
    )?,
  3. int? bufferSize]
)

创建转换器。

如果 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;