# JsonEncoder.withIndent constructor

const JsonEncoder.withIndent(String indent, [ dynamic toEncodable(dynamic 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.

## Implementation

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