If a schema is passed, the decoded object is validated against that
schema. The schema may be passed as file path or as object returned from
JsonDecoder::decodeFile($schemaFile).
You can adjust the decoding with {@link setObjectDecoding()},
{@link setBigIntDecoding()} and {@link setMaxDepth()}.
Schema validation is not supported when objects are decoded as
associative arrays.