2014-11-09 209 views
1

我是PHP新手,我只是想從JSON字典中獲取一個值。這看起來很簡單(至少對我來說),但我遇到了麻煩。我查看了JSON_decode的PHP文檔,我也看了一下「Parsing JSON data from a remote server」,但沒有做到我想要的。它將我想要的字典項目返回爲0,然後只是吐出JSON文件。然後我看了看「get data from JSON with php」,那只是什麼都沒有返回。如何使用PHP獲取JSON數據

JSON例

{ 
    "ask": 344.28, 
    "bid": 343.89, 
    "last": 343.97 
} 

一次嘗試

$jsoncontent=file_get_contents("https://api.bitcoinaverage.com/ticker/global/USD");` 
$priceusd=json_decode($json-content); 

$lastusd=$priceusd['last']; 

echo "Decoded JSON:\n"; 
echo "$priceusd\n"; 
echo "Raw JSON:\n"; 
echo "$jsoncontent\n"; 

第二次嘗試

$result=file_get_contents("https://api.bitcoinaverage.com/ticker/global/USD"); 
$result = iconv('UTF-16', 'UTF-8', $result); 
$json = json_decode($result); 

echo $json->last; 

我要的是價值JSON中的一個字典項目的URL。

謝謝!

+1

您能否提供您正在使用的JSON的示例結構? – 2014-11-09 05:17:02

+0

'{ 「ask」:344.28, 「bid」:343.89, 「last」:343.97, }'我想回顯最後一個值。 – Jake 2014-11-09 05:21:06

+0

你的試驗在哪裏? – Ghost 2014-11-09 05:25:59

回答

7

假設$data包含的內容從服務器返回的,你這樣做:

$object = json_decode($data); 
$last = $object->last; 

或:

$array = json_decode($data, true); 
$last = $array['last']; 

當你離開的第二個參數json_decode,它返回一個對象,你訪問你想要的部分作爲對象屬性。如果給出第二個參數true,它將返回一個關聯數組,並使用數組表示法訪問該元素。