Get Stock Price with PHP & JSON Decode on Google FInance

4.5k views Asked by At

I am trying to retreive the current stock price from Google Finance:

http://finance.google.com/finance/info?client=ig&q=AAPL

How can I extract just the price ("1")?

<?php 
$string = file_get_contents("http://finance.google.com/finance/info?client=ig&q=AAPL");
$json = json_decode($string, true);
$price = $json["1"];
echo $price;
?>
2

There are 2 answers

3
Wee Zel On BEST ANSWER

the json returned is commented out, therefore json_decode() won't do the business... you need to remove the double slashes - I used explode() like this:

<?php
$string = file_get_contents("http://finance.google.com/finance/info?client=ig&q=AAPL");
$arrMatches = explode('// ', $string); // get uncommented json string
$arrJson = json_decode($arrMatches[1], true)[0]; // decode json
$price = $assJson["l"];
echo $price;

oh, and the key is a lowercase L (l) not a numeric one (1) in the json

1
Markku On

The "$arrJson = json_decode($arrMatches[1], true)[0];" line doesn't work because "$arrJson" is empty after it has been executed.