Return a JSON adapter equal to this, but using {@code indent} to control how the result is formatted. The {@code indent} string to be repeated for each level of indentation in the encoded document. If {@code indent.isEmpty()} the encoded document will be compact. Otherwise the encoded document will be more human-readable.