@NeVolshebnik Что бы такого не было в скрипте скинутом мной еспользуется модуль JSON Если его установите там есть экшен проверка на валидность JSON переменной. Результат будет булевый. Если не знаете то можете использовать его. Как минимум отпадет часть проблем пока не начнете понимать разницу.
upd Как его можно применить есть в моем скрипте. Он там проверят на валидность и потом преобразовывает. Т.к. входящая не подходит. Этот модуль делвет все то что у вас в коде.