Задать вопрос
@DanKud

Как правильно получить данные из JSON?

Есть JSON-данные такого вида:

{"type":"new","data":"{\"quality\":\"low\",\"color\":\"F0F0F0\",\"class\":\"123456789\",\"id\":\"16489431815678\"}"}

$json = ('наш_json');
$obj = json_decode($json);
echo $obj->type; // выводит new
echo $obj->data; // выводить полностью строку data

после обработки функцией json_decode получаем объект с двумя классами type и data соответственно. Но в JSON-данных в классе data по факту еще один объект. Как проще всего вывести эти данные не строкой, а так же сделать объект с классами? Если выводить массивом то соответственно тоже всего два значения в массиве выводится. В функции json_decode есть параметр depth может быть он может помочь упростить это все, но я не понял как его использовать.
  • Вопрос задан
  • 252 просмотра
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
supervaleha
@supervaleha
Web-development
Попробуйте передать true вторым параметром в json_decode.

В таком случае Вы сможете спокойно работать с вложенными массивамию
Ответ написан
@BorisKorobkov Куратор тега PHP
Web developer
Вариант 1 (правильный):
Сделать нормальный JSON. Не
{"type":"new","data":"{\"quality\":\"low\",\"color\":\"F0F0F0\",\"class\":\"123456789\"...

а
{"type":"new","data":{"quality":"low","color":"F0F0F0","class":"123456789"...


Вариант 2 (костыль):
$obj = json_decode($json);
$obj->data = json_decode($obj->data);
Ответ написан
@Limon1980
А как вы получили JSON? У меня с 7 ноября 2017 года не выдает по ссылке 'https://www.instagram.com/'.$acc.'/media/'
Что сделал Instagramm, кто знает как теперь получать последние 20 постов выбранного аккаунта?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽