猿问

在 php 中读取 google sheet json 响应中的数组

$url = 'https://sheets.googleapis.com/v4/spreadsheets/...';

$json= file_get_contents($url);

$obj = json_decode($json);

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

print_r( $obj);

谷歌表格的回应是这样的:


{ "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 ?


繁花不似锦
浏览 148回答 3
3回答

莫回无

你只是错过了几个数组级别$obj = json_decode($json);$values = $obj->values[0];     echo $values[0] . PHP_EOL;echo $values[1];结果65122.9

DIEA

你有$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

达令说

您需要为简单数组的 Assoc 数组实例传递 true。所以你应该做一些像 json_decode($json, true) 这样的事情,你应该可以开始了!然后得到 $obj['values'][0][0] 和 $obj['values'][0][1]
随时随地看视频慕课网APP
我要回答