iContact php jSON проблема разбора
Я играю с iContact API и столкнулся с проблемой. После создания контакта с помощью API я пытаюсь получить самый последний ответ, чтобы я мог проанализировать contactId, чтобы отправить этому контакту сообщение или добавить его в список.
// adds new client to iContact
var_dump($oiContact->addContact('usersemailaddress@here.com', null, null, 'Joe', 'Smith', null, '123 Somewhere Ln', 'Apt 12', 'Somewhere', 'NW', '12345', '123-456-7890', '123-456-7890', null));
// Gets last response (results are showing below
$obj = $oiContact->getLastResponse();
Когда вы печатаете $obj var, это то, что я получаю
{"contacts":[{"contactId":"1009090","prefix":"","firstName":"Joe","lastName":"Smith","suffix":"","street":"123 Somewhere Ln","street2":"Apt 12","city":"Somewhere","state":"NW","postalCode":"12345","phone":"123-456-7890","fax":"123-456-7890","business":"","email":"usersemailaddress@here.com","createDate":"2014-04-24 01:31:59","bounceCount":"","status":"normal"}]}
//decode json object and echo it
$data = json_decode($obj,TRUE);
echo $data->contacts[0]->contactId;
Сообщение об ошибке: Обратите внимание: при попытке получить свойство необъекта в…(путь)... в строке 24
Я просмотрел другие посты и попытался воспроизвести некоторые из тех же самых решений, но ничего не помогло. Спасибо за любую помощь в продвинутом.
1 ответ
Решение
Если вы собираетесь использовать метод объекта, удалите TRUE из списка параметров функции json_decode. Если вы передадите TRUE, он вернет массив.
$data = json_decode($obj);
В противном случае вы должны получить доступ, как это.
//decode json object and echo it
$data = json_decode($obj,TRUE);
echo $data['contacts'][0]['contactId'];