Правильно - проверять и обрабатывать ошибку в момент получения данных (они могут приехать частично, например)
json - это строка, преобразуем его в объект json_decode, если вернули NULL - is_null($result)!==true то значит json не валидный (пустой или не до загружен).
Если все же нужно проверять именно внутри объекта наличие значения, то есть метод isset($data['value']) или isset($data->value), если в json_decode был второй параметр false.