JsonCodec with the given reviver.
reviver function is called once for each object or list property
that has been parsed during decoding. The
key argument is either the
integer list index for a list property, the string map key for object
null for the final result.
JsonCodec.withReviver(reviver(Object key, Object value)) : this(reviver: reviver);