Expected Behavior
JSON-decode should fail for invalid data, and the configured fallback behaviour should apply.
Current Behavior
If someone passes non-JSON data (object / stdClass, array), recent PHP-versions trigger an error BEFORE json_decode is reached. That why, silencing errors (to suppress warnings) and checking for the last json_error does not work as expected. Null is returned, the configured error handling isn't reached.