читать массивы в листе Google json ответ в php - PullRequest
0 голосов
/ 17 июня 2020
$url = 'https://sheets.googleapis.com/v4/spreadsheets/...';
$json= file_get_contents($url);
$obj = json_decode($json);
$obj = $obj->{'values'};     
print_r( $obj);

Ответ из таблицы Google выглядит примерно так:

{ "range": "Recipes!D10:E10", "majorDimension": "ROWS", "values": [ [ "65", "122.9" ] ] }

После того, как я расшифрую ответ с помощью строк кода выше, он будет таким:

Array ( [0] => Array ( [0] => 65 [1] => 122.9 ) )    

// How to extract the data "65" and "122.9" from this decoded response ?

Ответы [ 3 ]

1 голос
/ 17 июня 2020

вы просто пропустили пару уровней массива

$obj = json_decode($json);
$values = $obj->values[0];     

echo $values[0] . PHP_EOL;
echo $values[1];

РЕЗУЛЬТАТ

65
122.9
0 голосов
/ 18 июня 2020

У вас есть

$obj = $obj->{'values'};   

, который содержит:

Array ( 
    [0] => Array ( 
               [0] => 65 
               [1] => 122.9
          )   

Итак, $obj[0] содержит:

Array ( 
    [0] => 65 
    [1] => 122.9  
)  

и, очевидно,

$obj[0][0] => 65
$obj[0][1] => 122.9
0 голосов
/ 17 июня 2020

Если мы внимательно посмотрим на do c здесь: https://www.php.net/manual/fr/function.json-decode.php, вам нужно передать true для экземпляра Asso c простого массива. Итак, вы должны сделать что-то вроде json_decode ($ json, true), и вы должны быть готовы к go! Затем получите $ obj ['values'] [0] [0] и $ obj ['values'] [0] [1]

...