<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_json(payload):
 """ Build an object from a JSON dictionary. @param payload: a JSON dictionary which key/value pairs represent the members of the Python object to build, or ``None``. @return: an instance ``Object`` with members built from the key/value pairs of the given JSON dictionary, or ``None`` if the payload is ``None`` or the given JSON dictionary is empty. """

        if payload is None:
            return None

        if isinstance(payload, dict):
            return Object(**dict([(k, v if not isinstance(v, (dict, list)) else Object.from_json(v))
                    for (k, v) in payload.iteritems()]))

        elif isinstance(payload, list):
            return payload and [Object.from_json(v) if isinstance(v, (dict, list)) else v for v in payload]

        else:
            raise ValueError('The payload MUST be a dictionary or a list')