Reputation: 907
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;
?>
Upvotes: 1
Views: 4856
Reputation: 1
The "$arrJson = json_decode($arrMatches[1], true)[0];" line doesn't work because "$arrJson" is empty after it has been executed.
Upvotes: 0
Reputation: 1324
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
Upvotes: 1