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