this is incomplete. ``null`` and ``false`` can be valid decoded values.

The right way to check for this is ``null === json_decode($value) && JSON_ERROR_NONE !== json_last_error()``