const JsonEncoder.withIndent(String indent, [ dynamic toEncodable(object) ])

Creates a JSON encoder that creates multi-line JSON.

The encoding of elements of lists and maps are indented and put on separate lines. The indent string is prepended to these elements, once for each level of indentation.

If indent is null, the output is encoded as a single line.

The JSON encoder handles numbers, strings, booleans, null, lists and maps with string keys directly.

Any other object is attempted converted by toEncodable to an object that is of one of the convertible types.

If toEncodable is omitted, it defaults to calling .toJson() on the object.


const JsonEncoder.withIndent(this.indent, [toEncodable(object)])
    : this._toEncodable = toEncodable;