<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def json_numpy_obj_hook(dct):
 """Decodes a previously encoded numpy ndarray with proper shape and dtype. Parameters dct : :obj:`dict` The encoded dictionary. Returns ------- :obj:`numpy.ndarray` The ndarray that `dct` was encoding. """

    if isinstance(dct, dict) and '__ndarray__' in dct:
        data = np.asarray(dct['__ndarray__'], dtype=dct['dtype'])
        return data.reshape(dct['shape'])
    return dct