json в array на php

112
07 декабря 2019, 02:20

получаю при помощи file_get_contents() вот такое дело

{"tunnels":[{"name":"command_line","uri":"/api/tunnels/command_line","public_url":"https://r923q2es.ngrok.io","proto":"https", ..

Как мне взять отсюда public_url?

Answer 1

Декодируйте json в (к примеру) объект, и обращайтесь к его свойствам следующим образом:

$json = '{"tunnels":[{"name":"command_line","uri":"/api/tunnels/command_line","public_url":"https://r923q2es.ngrok.io","proto":"https"}]}';
$obj = json_decode($json);
echo $obj->tunnels[0]->public_url; // https://r923q2es.ngrok.io

Если нужно получить значений больше одного, тогда пройдитесь циклом по объекту:

foreach ($obj->tunnels as $item) {
    echo $item->public_url . "\n";
}
Answer 2

В дополнение к ответу Эдуарда - чтобы json_decode возвращал массив а не объект добавьте вторым параметром true

$tunnels = json_decode($json, true);
echo $tunnels[0]['public_url'];

И да, это не XML )

READ ALSO
Проблема с src и переменной

Проблема с src и переменной

Сделал переменную в которо хранится конкретное число из бд mysql

133
Как разделить рандомное число на цифры? PHP

Как разделить рандомное число на цифры? PHP

У на есть рандомное число, например 03198319 (количество символов также всегда разное)Как разделить его на числа и добавить их в массив, используя...

125
Платёжная система для сайта

Платёжная система для сайта

Посоветуйте платёжную систему, чтобы на сайте можно было рассчитываться кредитной картой и аудитория сайта будет зарубежная (Европа, США)Плагин...

120
Перезаписать url страницы

Перезаписать url страницы

Есть 2 таксономии product_brand - бренды и product_cat - категорииДля того чтобы показать товары категории определенного бренда используется ссылки вида:

123