function decode( message, info, output ) { // eslint-disable-line no-unused-vars
        let diag = ! jsonConfig || jsonConfig.diag;
        let jpath = readJPath( info.property );
        let decoded;
        if( jpath ) {
            let msg = JSON.parse( message );
            decoded = getJson( msg, jpath );
        } else {
            diag = true;
        }
        if( diag ) {
            log( `json-codec: decode() called for topic [${info.topic}], property [${info.property}] with message [${message}]` );
        }
        return decoded;
    }
Decode received message, and optionally return decoded value.
The output function may be called to deliver a decoded value for the property later.
@param {string} message Message received from MQTT
@param {object} info Object giving contextual information
@param {string} info.topic MQTT topic received
@param {string} info.property Property associated with subscription
@param {function} output Function which may be called to deliver the decoded value asynchronously
@returns {string} Processed message (optionally)