2013-07-21 56 views
-2

好吧,我使用coinbase'API來創建BTC的當前價格,但是當我嘗試使用json_decode()時,它返回一個錯誤,導致我相信他們的響應不是JSON。爲什麼數組的類型是這樣的?

https://coinbase.com/api/v1/prices/spot_rate?currency=USD 

返回:

{"amount":"90.00","currency":"USD"} 

我試圖json_decode($ grabPrice); $ grabPrice等於該API的file_get_contets()。它給我的錯誤是:

Catchable fatal error: Object of class stdClass could not be converted to string in 

如何獲得PHP變量中的金額?

謝謝。

+1

什麼錯誤?據我所知,它是JSON。 –

+0

我試過json_decode($ grabPrice); $ grabPrice等於該API的file_get_contets()。它給我的錯誤是:可捕獲的致命錯誤:class stdClass的對象無法轉換爲 – user2594145

+0

中的字符串,這是因爲你試圖打印返回的值,在這種情況下,它是一個對象....'echo $ returnedFromJsonDecode - >金額;'而不是 – Orangepill

回答

2

這是編碼字符串一個JSON ....

來獲取數據了它首先使用json_decode

$data = json_decode($str); 

echo $data->amount; 

或者如果你喜歡在數組對象

$data = json_decode($str, true); 
echo $data["amount"]; 
+0

下面是一個工作演示,因爲你擊敗了我一拳(壞玩笑):http://codepad.org/y2sXrUXf –

+0

閱讀我的編輯/評論。 – user2594145

0

這代碼工作正常: -

$grab=file_get_contents('https://coinbase.com/api/v1/prices/spot_rate?currency=USD'); 
    $resarray=json_decode($grab); 
echo 'amount :'.$resarray->amount.'<br>'; 
echo 'currency :'.$resarray->currency; 

輸出: -

amount :89.91 
currency :USD