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