Json_decode VK
349 сообщений
#9 лет назад
Здравствуйте. И это опять я...Получаю JSON строку {"response":{"count":1,"users":}}
Подскажите, пожалуйста, как записать 123456 в $users ?
Пробовала так:
$json_decode = json_decode('{"response":{"count":1,"users":}}');
$users = $json_decode->response->users;
echo $users;
Но $users пуст...
349 сообщений
#9 лет назад

Так работает
$json_decode = json_decode('{"response":{"count":1,"users":}}');
$users = $json_decode->response->users;
echo $users; //выводит 123456
Так не работает
$get_contents = file_get_contents("https://api.vk.com/блаблабла");
echo $get_contents; //выводит {" response":{" count":1," users":}}
$json_decode = json_decode($get_contents);
$users = $json_decode->response->users;
echo $users; //пусто...
600 сообщений
#9 лет назад
Вы должны получить массив(JSON), из этого массива прочитать... + могут буть проблемы с кодировками...
349 сообщений
#9 лет назад
Дурочка, забыла включить вывод ошибок.Catchable fatal error: Object of class stdClass could not be converted to string in test.php on line 7
798 сообщений
349 сообщений
#9 лет назад
Var_dumpobject(stdClass)#1 (1) { =>
object(stdClass)#2 (2) {
=>
int(1)
=>
array(1) {
=>
int(123456)
}
}
}
6863 сообщения
#9 лет назад
" response"Пробелы вначале тут и дальше на выводе присутствуют или тут типограф шутит?
Если присутствуют, то делайте массивом, как написал b0nn1e, и не забывайте в ключе этот пробел.
349 сообщений
#9 лет назад
floppox, сама не поняла на каком этапе взялся пробел, конечно же все без пробелов. Спасибо всем, проблема благодаря вам решена!
Если кто то вдруг знает...
Через раз file_get_contents() выдает ошибку таймаута. То есть, сервер вк доступен через раз. Как можно заново переподключиться, если в течении 3 сек не удалось получить json ответ?
То есть выделить для функции file_get_contents() время на выполнение 3 секунды, если пусто, то пробуем заново необходимое кол-во раз пока не получим json

PHP Warning: file_get_contents(url): failedtoopenstream: Connection timed out in