Этот json из callback api vk:
case 'message_new':
$atch = $data->object->attachments;
$urlphoto = json_decode($atch,true);
//начиная с этого момента я не понимаю как добраться до типа "photo_1280"
$urlphoto->attachments;
Любой другой тип до массива атачмента парсится легко, но с атачментом попытки возвращают либо пустые массивы array либо null либо вовсе ничего.
Мелкий
Отправлено: 31 Марта, 2017 - 19:42:30
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 617 раз(а)
А зачем вы аттач пытаетесь ещё раз раскодировать? Это один json, а не дважды закодированный.
Json строка, которую я указал, я ее вытащил из запроса callback чтобы показать наглядно, что она из себя представляет, а в коде я могу получить ее только через:
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 617 раз(а)
Frozel пишет:
приходит раскодированная строка?
Да, json_decode умеет распаковывать массивы в том числе.
Документ под спойлером в начале темы - это один-единственный json и разбирается он полностью одним вызовом json_decode.
В object->attachments расположен массив. Массив асоциативных массивов или массив stdobject, в зависимости от второго параметра json_decode.
----- PostgreSQL DBA
Frozel
Отправлено: 31 Марта, 2017 - 20:17:18
Новичок
Покинул форум
Сообщений всего: 11
Дата рег-ции: Март 2017
Помог: 0 раз(а)
Мелкий пишет:
Frozel пишет:
приходит раскодированная строка?
Да, json_decode умеет распаковывать массивы в том числе.
Документ под спойлером в начале темы - это один-единственный json и разбирается он полностью одним вызовом json_decode.
В object->attachments расположен массив. Массив асоциативных массивов или массив stdobject, в зависимости от второго параметра json_decode.
Это конечно всё замечательно и понятно Но я не знаю как вызвать эту json строку иными способами, кроме как обращаться непосредственно к объекту в кейсе. После обращения к объекту, в данном случае аттачмент, возвращается его массив, и как парсить из него какой-либо тип - я не понимаю
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.