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'];
Другие вопросы по тегам