S
S
santavits2018-03-20 00:50:40
PHP
santavits, 2018-03-20 00:50:40

How is parsing the json result from api vk done?

Here is the json result from VK

Array ( 
[response] => Array ( 
[0] => Array ( 
[id] => 11111 
[album_id] => 2222222 
[owner_id] => -666666 
[user_id] => 11111 
[photo_75] => https://pp.userapi.com/c840639/v840639724/68347/3oCeAnAK-DY.jpg 
[photo_130] => https://pp.userapi.com/c840639/v840639724/68348/JU7F7EsGnVY.jpg 
[photo_604] => https://pp.userapi.com/c840639/v840639724/68349/cyn1MCxgt7Y.jpg 
[width] => 604 
[height] => 453 
[text] => 
[date] => 1521484148 
) ) )

All you need to get is id
I tried this method, but it didn't work
$resultUpload = file_get_contents('https://api.vk.com/method/photos.save?'. $get_params_savePhoto,true);
$json = json_decode($resultUpload, true);

$json = $json ->response[0]; 
echo $json;
for ($i = 0; $i < count($json ); $i++) {
echo $json[$i]->id; 
};

I will be grateful for any help.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
R
riot26, 2018-03-20
@santavits

$resultUpload = file_get_contents('https://api.vk.com/method/photos.save?'. $get_params_savePhoto,true);

// при передаче в качестве второго аргумента true на выходе получаем массив, а не объект
// подробнее: http://php.net/manual/ru/function.json-decode.php
$json = json_decode($resultUpload, true);

// здесь почему-то получали первый элемент массива, хотя дальше ожидается проход по этому массиву.
// получали тоже странным образом, учитывая что мы получили массив, а не объект.
// позволю себе переименовывать некоторые переменные для лучшей читаемости кода
$response = $json['response'];

echo $response;

// foreach здесь намного удобнее использовать, чем for
foreach ($response as $photo) {
    // опять же, здесь массив, а не объект
    echo $photo['id']; 
};

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question