2016-07-26 70 views
0

這是JSON文件:無法使用PHP獲取JSON數據。爲什麼?

// [{ 「ID」: 「5417778」, 「T」: 「TATAMTRDVR」, 「E」: 「NSE」, 「L」: 「329.80」 ,「l_fix」:「329.80」,「l_cur」:「Rs.329.80」,「s」:「0」 ,「ltt」:「11:11 AM GMT + 5:30」,「lt」:「Jul 26 ,「格林威治標準時間上午11:11」,「lt_dts」 :「2016-07-26T11:11:45Z」,「c」:「-0.35」,「c_fix」:「-0.35」,「cp」 「-0.11」, 「cp_fix」: 「-0.11」, 「CCOL」: 「CHR」, 「pcls_fix」: 「330.15」}]

而且我的代碼,

<?php 
$json = file_get_contents('http://finance.google.com/finance/info?q=NSE:TATAMTRDVR'); 
$obj = json_decode($json); 
echo $obj->id; 
?> 

顯示錯誤消息,是,

通知:試圖得到非對象的屬性在C:\ XAMPP \ htdocs中\鰭\ latest_stock.php

+0

'print_r($ obj)'並告訴我數據來自哪裏。 –

+2

//正在阻止對象被處理 – jeff

+0

@Anant看起來'//'包含在url的輸出中... – jeroen

回答

1

這不是一個有效的json。從json響應中刪除「//」,你的代碼將正常工作。

+0

來自http://finance.google.com/finance/info?q=NSE:TATAMTRDVR的回覆以「//」作爲前綴。 – Deepak

+0

是的,我明白了。現在正在工作。 – Nerazzurri

0

的對象包含在一個陣列內,所以你需要這樣做:

echo $obj[0]->id; 

代替

echo $obj->id; 

希望這有助於。

+0

不,它不工作 – Nerazzurri

+0

你在得到什麼 –

+0

我得到同樣的錯誤。 – Nerazzurri

0

首先,將其轉換爲有效的JSON。首先刪除斜槓(「//」)。

<?php 
$response = file_get_contents('http://finance.google.com/finance/info?  q=NSE:TATAMTRDVR'); 
$modifiedResponse = str_replace('// ','',$response); 
$obj = json_decode($modifiedResponse); 
echo $obj[0]->id; 
?>